У меня есть решение Visual Studio с проектом веб-приложения asp.net и проектом библиотеки классов.
Приложения работают нормально, когда я отлаживаю его в Visual Studio, однако при развертывании с использованием WebDeploy, Я получаю следующее исключение при загрузке страницы:
System.IO.FileLoadException:
Could not load file or assembly 'Microsoft.CodeAnalysis.CSharp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Это также происходит при развертывании в папку.
Мой веб-проект ссылается на установленную версию Microsoft.CodeAnalysis.CSharp 3.0.0, установленнуючерез Nuget, и я могу видеть это в папке пакетов.Web.config содержит следующее:
<dependentAssembly>
<assemblyIdentity name="Microsoft.CodeAnalysis.CSharp" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
Очень запутано - я нигде не вижу ссылок на 1.0.0.0 и не знаю, как мне решить эту проблему.Я даже пытался вручную установить версию 1.0.0.0 Microsoft.CodeAnalysis.CSharp вместе с текущей версией, и ничего не изменилось.
РЕДАКТИРОВАТЬ:
Хорошо, так что это, кажется, решается путем поворота "Прекомпиляция во время"опубликуйте "option off при развертывании.Сомневаюсь ответить на мой собственный пост с этим, потому что я подозреваю, что это не реальное решение.