Visual Studio 2k8 (и 2k10) не может скомпилировать веб-приложение, когда сборки gac перемещаются в глобальный web.config. - PullRequest
1 голос
/ 13 апреля 2010

У меня есть множество веб-приложений ASP.NET 3.5 с подробными файлами уровня web.config уровня приложений, которые я хочу уменьшить и сделать более читабельными.

Visual Studio 2010 только что прибыл и уже начал «очищать» различные разделы web.config - так что сейчас прекрасное время для меня, чтобы продолжить хорошую работу и сделать то же самое в других областях web.config. файл.

В настоящее время у меня есть несколько сторонних сборок, все из которых успешно зарегистрированы в GAC, на которые они ссылаются в каждом Web-файле уровня приложения. См. Ниже;

<configuration>
    <system.web>
        <compilation defaultLanguage="C#" debug="true">
            <assemblies>
                <add assembly="AjaxControlToolkit, Version=3.0.30512.20315, Culture=neutral, PublicKeyToken=28F01B0E84B6D53E"/>
                <add assembly="aspNetEmail, Version=3.5.2.0, Culture=neutral, PublicKeyToken=BC571E8DA1C1F543"/>
                <add assembly="aspNetDns, Version=3.0.0.0, Culture=neutral, PublicKeyToken=BC571E8DA1C1F543"/>
                <add assembly="Microsoft.Practices.EnterpriseLibrary.Common, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
                <add assembly="Microsoft.Practices.EnterpriseLibrary.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            </assemblies>
        </compilation>
    </system.web>
</configuration>

Я переместил вышеуказанный узел компиляции в глобальный файл web.config, расположенный в Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Config \ web.config - и приложение отлично работает под IIS7, т.е. приложение имеет нет проблем с поиском этих сборок GAC.

однако , когда я сейчас компилирую (shift + ctrl + b) мое веб-приложение в visual studio 2k8 или 2k10, я получаю знакомую ошибку "Не удалось найти имя типа или пространства имен" aspNetDns " (вам не хватает директивы using или ссылки на сборку?) "

Что мне нужно сделать, чтобы Visual Studio распознала местонахождение этих библиотек GAC? Я пытался скопировать их в windows \ system32, но без радости ...

помощь! :)

NB. Я также пытался работать с machine.config, но все равно не повезло

Ответы [ 2 ]

1 голос
/ 13 апреля 2010

Решил.

Мне нужно было отредактировать глобальный web.config в каталоге x86 (а также в версии x64) - версия x86, очевидно, была той, на которую смотрела Visual Studio при компиляции приложения, тогда как IIS рассматривал версию x64 глобального web.config при запуске приложения.

0 голосов
/ 13 апреля 2010

Перетащите сборки в папку c: \ windows \ assembly на локальном компьютере, на котором вы перекомпилируете.

...