Несоответствие номера версии Nuget.Core.dll - PullRequest
4 голосов
/ 29 апреля 2011

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

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

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

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

Как мне решить эту проблему?

Спасибо.

Ответы [ 4 ]

3 голосов
/ 30 мая 2011

Я столкнулся с той же проблемой после использования опции «Добавить развертываемый бен» в Visual Studio.Я установил перенаправление сборки ассемблера, как это было предложено Haacked, но изменил bindingRedirect для фактической работы.;)

<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 голосов
/ 29 апреля 2011

Попробуйте добавить перенаправление привязки в ваш файл 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>
0 голосов
/ 12 июля 2011

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

0 голосов
/ 30 июня 2011

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

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

  1. Выполнить сопоставление с подстановочными знаками в виртуальном каталоге, указывая на 4.0 .. C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll
  2. Я бы создал новый пул приложений, чтобы он тоже указывал.
  3. Отсутствует бесчисленное множество забавных сборок, поэтому, если у вас есть доступ к серверу для установки обновления 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 и сборки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...