Несоответствие номера версии Nuget.Core.dll

Я не мог понять, как мне развернуть веб-сайт, созданный пакетом nuget.server. ASP.Net MVC не установлен на сервере, поэтому я "добавляю развертываемые зависимости" к моему проекту и выбираю "Веб-страницы ASP.NET с синтаксисом Razor".

Проблема с этим заключается в добавлении Nuget.Core.dll версии 1.0.11220.104, но пакет nuget.server добавляет ссылку для Nuget.Core.dll с версией 1.3.20419.9005.

При развертывании с более высокой версией я получил

Не удалось загрузить файл или сборку "NuGet.Core, Version = 1.0.11220.104". При использовании более низкой версии я получил сообщение об ошибке компилятора: CS1705: Assembly 'NuGet.Server, Version = 1.3.20426.373, Culture = neutral, PublicKeyToken = null' использует 'NuGet.Core, Version = 1.3.20419.9005, Culture = neutral, PublicKeyToken = 31bf3856ad364e35 ', который имеет более высокую версию, чем ссылка на сборку' NuGet.Core, Version = 1.0.11220.104, Culture = neutral, PublicKeyToken = 31bf3856ad364e35 '".

Как я могу это решить?

Спасибо.

Ответ 1

Я столкнулся с той же проблемой после использования опции "добавить развертываемый бит" в visual studio. Я установил перенаправление сборщика, как было предложено Haacked, но изменил привязкуRedirect к фактической работе.;)

<bindingRedirect oldVersion="0.0.0.0-1.3.20419.9005"
                             newVersion="1.3.20419.9005"/>

После этого я получил ошибку, которую вы получали Erdem с System.Web.Webpages.Administrator. Я зашел в папку bin и удалил System.Web.WebPages.dll, и все было освещено и теперь отлично работает!

Ответ 2

Попробуйте добавить перенаправление привязки в свой web.config, указав на более высокую версию. Кроме того, если вы не возражаете, помогите нам и запишите подробную ошибку в http://nuget.codeplex.com/workitem/list/basic

<configuration>
   <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
         <dependentAssembly>
            <assemblyIdentity name="NuGet.Core"
                              publicKeyToken="31bf3856ad364e35"
                              culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0"
                             newVersion="1.3.20419.9005"/>
         </dependentAssembly>
      </assemblyBinding>
   </runtime>
</configuration>

Ответ 3

Какой кошмар. Это почти в июле 2011 года, и я возился с развертыванием в течение нескольких часов, как будто это Java-проект: (ughhh

Для развертывания IIS6 (сервер Windows 2003) с MVC3/vs 2010 с использованием фреймворка 4.0:

  • Сделайте сопоставление подстановочных знаков в виртуальном каталоге, указывающем на 4.0.. C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll
  • Я бы создал новый пул приложений, чтобы указать на него.
  • У вас нет столь интересных сборок, поэтому, если у вас есть доступ к серверу для установки обновления обновления mvc 3 (в том числе и mvc 3), сделайте это, скачайте с http://www.asp.net/mvc и установить его на сервер.

Сначала я скопировал все эти файлы поверх

  • Microsoft.Web.Infrastructure
  • System.Web.Razor
  • System.Web.WebPages
  • System.Web.WebPages.Razor,

Но если вы установите MVC 3 на сервер, вам может и не понадобиться. Прерывание сделки для меня, о котором я подчеркивал, это ошибка "System.Web.WebPages.Administration...", о которой упоминал @Erdem. Я пробовал ВСЕ. Исправлена ​​установка MVC на сервере! Для Godaddy и других хостинг-провайдеров .NET у них уже должны быть установлены MVC и сборки.

Ответ 4

Кажется, единственной единственной ссылкой является Microsoft.Web.Infrastructure. Чтобы решить эту проблему, я добавил "Расширяемые зависимости" для "Веб-страниц ASP.NET с синтаксисом Razor", а затем удалил все элементы в папке "_bin_deployableAssemblies", за исключением Microsoft.Web.Infrastructure. Это устранило проблему.