Сборка с таким же именем «XXX» уже импортирована. Попробуйте удалить одну из повторяющихся ссылок - PullRequest
0 голосов
/ 08 ноября 2018

У меня есть веб-приложение MVC, которое я публикую на нашем UAT-сервере с помощью командной строки msbuild. Он размещен на сервере Windows 2016, IIS 10.

Иногда не всегда , при попытке запустить веб-сайт возникает следующая ошибка:

Ошибка сервера в «/» приложении. Ошибка компиляции Описание: во время компиляции ресурса, необходимого для обслуживания этого запроса, произошла ошибка. Пожалуйста, просмотрите следующие конкретные подробности ошибки и измените свой исходный код соответствующим образом.

Сообщение об ошибке компилятора: CS1703: сборка с таким же идентификатором 'System.Xml.ReaderWriter, версия = 4.1.0.0, Culture = нейтральная, PublicKeyToken = b03f5f7f11d50a3a' уже импортирована. Попробуйте удалить одну из повторяющихся ссылок.

Ошибка источника: [Нет соответствующих строк источника] Исходный файл: строка: 0 Показать подробный вывод компилятора: C: \ WINDOWS \ SysWOW64 \ Inetsrv> "C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ csc.exe" / t: library / utf8output / R: "C: \ WINDOWS \ Microsoft.Net \ assembly \ GAC_MSIL \ System.Text.Encoding.Extensions \ v4.0_4.0.0.0__b03f5f7f11d50a3a \ System.Text.Encoding.Extensions.dll" / R:

...

"C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Временные файлы ASP.NET \ root \ 4a1a5bcc \ 84ed54d3 \ assembly \ dl3 \ ab6a43c3 \ 00602620_2137d201 \ System.Xml.ReaderWriter.dll" / R:

...

"C: \ WINDOWS \ Microsoft.Net \ assembly \ GAC_MSIL \ System.Xml.ReaderWriter \ v4.0_4.0.0.0__b03f5f7f11d50a3a \ System.Xml.ReaderWriter.dll" / R:

...

"C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Временные файлы ASP.NET \ root \ 4a1a5bcc \ 84ed54d3 \ App_Web_home.cshtml.65a2d1ee.ef3qnjdl.1.cs" Компилятор Microsoft (R) Visual C # версии 4.6.1586.0

для C # 5 Авторское право (C) Microsoft Corporation. Все права защищены.

Этот компилятор предоставляется как часть Microsoft (R) .NET Framework, но поддерживает только языковые версии до C # 5, который больше не является последней версией. Компиляторы, которые поддерживают более новые версии языка программирования C #, см. http://go.microsoft.com/fwlink/?LinkID=533240

c: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Временные файлы ASP.NET \ root \ 4a1a5bcc \ 84ed54d3 \ assembly \ dl3 \ ab6a43c3 \ 00602620_2137d201 \ System.Xml.ReaderWriter.DLL: ошибка CS1703: ошибка сборка с таким же именем System.Xml.ReaderWriter, версия = 4.1.0.0, культура = нейтральная, PublicKeyToken = b03f5f7f11d50a3a 'уже импортирована. Попробуйте удалить одну из повторяющихся ссылок. c: \ Windows \ Microsoft.NET \ assembly \ GAC_MSIL \ System.Xml.ReaderWriter \ v4.0_4.0.0.0__b03f5f7f11d50a3a \ System.Xml.ReaderWriter.dll: (расположение символа, связанного с предыдущей ошибкой)

Информация о версии: Microsoft .NET Framework Версия: 4.0.30319; ASP.NET версия: 4.7.3163.0

Я пытался искать ссылки, но вижу его только один раз в файле web.config.

Кроме того, ошибка обычно исчезает после запуска iisreset или перезапуска веб-сервера. Боюсь, это может произойти и на живом сервере, если мы выпустим его.

Буду признателен за любую помощь, чтобы указать мне правильное направление, чтобы это исправить.

UPDATE:

Я проверил все ссылки во всем проекте. Все, что я могу найти, это.

Web.config:

<compilation defaultLanguage="c#" debug="true" batch="false" targetFramework="4.5" numRecompilesBeforeAppRestart="50">
        <assemblies>
            <remove assembly="System.Xml.ReaderWriter" />
            <add assembly="System.Xml.ReaderWriter, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

и Packages.config:

<package id="System.Xml.ReaderWriter" version="4.3.0" targetFramework="net461" />

ОБНОВЛЕНИЕ 2:

Я удалил «добавить сборку» из web.config, как это было предложено Петером Чайтай. С тех пор он работает нормально (вероятно, он нигде не используется).

Я пытался удалить другие сборки, но они используются, поэтому мне потребуется несколько перенаправлений . С другой стороны, это работает, поэтому я не очень-то хочу «исправить это». Я добавил перенаправление, чтобы посмотреть, сработает ли оно, но без ошибки трудно сказать, правильно ли он работает.

Также найдено это , которое может пригодиться другим для устранения неполадок в будущем.

1 Ответ

0 голосов
/ 08 ноября 2018

Как указано в выходных данных, ваши проекты ссылаются на System.Xml.ReaderWriter.dll из двух разных мест:

C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Временные файлы ASP.NET \ root \ 4a1a5bcc \ 84ed54d3 \ Assembly \ dl3 \ ab6a43c3 \ 00602620_2137d201 \

И от GAC:

C: \ WINDOWS \ Microsoft.Net \ сборка \ GAC_MSIL \ System.Xml.ReaderWriter \ v4.0_4.0.0.0__b03f5f7f11d50a3a \

Вы должны проверить все ваши ссылки на эту dll и объединить ссылочные пути, где они отличаются.

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