Несоответствие номера версии 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. Это устранило проблему.