Не удалось загрузить файл или сборку Microsoft.CodeAnalysis.CSharp, версия = 1.0.0.0 при развертывании только - PullRequest
0 голосов
/ 30 апреля 2019

У меня есть решение 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 при развертывании.Сомневаюсь ответить на мой собственный пост с этим, потому что я подозреваю, что это не реальное решение.

1 Ответ

0 голосов
/ 30 апреля 2019

В случае, если вы используете более старую версию Microsoft.CodeDom.Providers.DotNetCompilerPlatform nuget, вы можете обновить ее и повторить попытку развертывания.

Microsoft.CodeDom.Providers.DotNetCompilerPlatform также ссылки Microsoft.CodeAnalysis.CSharp

...