Как ссылаться на сборку из web.config? - PullRequest
2 голосов
/ 13 января 2011

Мне нужно добавить ссылку на сборку 'System.XML.dll' в web.config (чтобы попытаться решить проблему, указанную здесь: Проблема с методом расширения: IXmlLineInfo ).

Я попытался добавить следующую строку в раздел "сборки":

<add assembly="System.Xml, Version=2.0.5.0, Culture=neutral,
     PublicKeyToken=7cec85d7bea7798e"/>

Это вызвало ошибку:

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

Сообщение об ошибке парсера: не удалось загрузить файл или сборка 'System.Xml, Версия = 2.0.5.0, Культура = нейтральная, PublicKeyToken = 7cec85d7bea7798e 'или одна из его зависимостей. Расположенный определение манифеста сборки делает не совпадает со ссылкой на сборку. (Исключение из HRESULT: 0x80131040)

Если честно, я не уверен, правильно ли указана версия / Culture / PublicKeyToken.

У меня есть несколько разных версий System.XML.dll:

  • C: \ Program Files (x86) \ Справочные сборки \ Microsoft \ Framework.NETFramework \ v3.5 \ Profile \ Client \ System.XML.dll
  • C: \ Program Files (x86) \ Справочные сборки \ Microsoft \ Framework.NETFramework \ v4.0 \ Profile \ Client \ System.XML.dll
  • C: \ Program Files (x86) \ Справочные сборки \ Microsoft \ Framework.NETFramework \ v4.0 \ System.XML.dll
  • C: \ Program Files (x86) \ Справочные сборки \ Microsoft \ Framework \ Silverlight \ v3.0 \ System.Xml.dll
  • C: \ Program Files (x86) \ Справочные сборки \ Microsoft \ Framework \ Silverlight \ v4.0 \ System.Xml.dll

Также у меня есть некоторые сборки в GAC в Framework, Framework x64 и т.д ...

Вопрос1:

Какая сборка мне нужна?

Вопрос2: (устарел)

Как определить точную версию сборки и publicKeyToken?

P.S. Забавно, когда я отправил вопрос, я обнаружил, что уже есть тег 'publickkeytoken', и он содержит ответ на вопрос 2:)

Большое спасибо!

Ответы [ 2 ]

3 голосов
/ 13 января 2011

Попробуйте 'gacutil / l' и убедитесь, что вы добавили в свой web.config тот файл, на который действительно хотите ссылаться, в зависимости от целевого выпуска .NET (например, 3.5, 4.0 и т. Д.). (В терминах кода убедитесь, что вы можете загрузить сборку через Assembly.Load ().)

1 голос
/ 13 января 2011

Если вы используете Visual Studio, вы можете сделать это, щелкнув правой кнопкой мыши по своему проекту-> Добавить ссылку-> на вкладке .NET, и вы найдете эту сборку.

Как добавить ссылку на сборку через VS .

В зависимости от типа проекта, т.е. WebSite или WebApplication VS либо добавят запись в web.config, либо добавят dll в папку bin.

Теперь какой вам нужен (2.0 / 3.5 / 4.0) зависит от вашего приложения.

...