Развертывание библиотеки DLL проекта причина «тип х существует в обоих» ошибках

голоса
4

У меня есть проект WebApplication, бизнес-логики проекта, и WebDeployment проект для веб-приложения.

Когда я построить решение, развертывание «Release» бин содержит 1 DLL для каждого из проектов - так что я получаю один для MyWeb.dll, MyWebBusiness.dll и MyWebDeploy.dll.

Когда я пытаюсь запустить сайт, он видит один и тот же тип в обоих MyWeb.dll и MyWebDeploy.dll и дросселей.

Сообщение об ошибке: CS0433: тип 'AV' существует в обоих «C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files \ корень \ 53d45622 \ 6c032bd2 \ сборка \ DL3 \ 33f3c6b2 \ abc9430a_285ac901 \ MyWeb .DLL»и 'C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files \ корень \ 53d45622 \ 6c032bd2 \ сборка \ DL3 \ 631e5302 \ 0231160d_285ac901 \ MyWebDeploy.DLL'

Задан 09/12/2008 в 19:17
источник пользователем
На других языках...                            


4 ответов

голоса
10

Некоторые причины, я могу думать:

  • У вас есть App_Code каталог в вашем проекте
  • У вас есть CodeFile страница директива в некоторой разметке вместо CodeBehind
Ответил 09/12/2008 в 19:36
источник пользователем

голоса
0

Добавить партию = «ложную» в файл web.config

Дайте ваши файлы исправить имена в основном для MasterPages

<compilation ... batch="false"/>

  ...
Ответил 06/01/2013 в 12:14
источник пользователем

голоса
0

Я преобразовал свой проект с веб-сайта в веб-приложение, и было CodeFile на всех страницах, а не CodeBehind даже если я использовал VS вариант «преобразовать в WebApp». Замена CodeFile с CodeBehind вручную сделал решить мою проблему. Добавлено это так, что это может помочь кто-либо другой преобразовывая в веб-приложение.

Ответил 16/02/2012 в 22:49
источник пользователем

голоса
0

Там отличный пост на форуме по этому адресу: http://forums.asp.net/t/980517.aspx

Кажется, что все это занимает правильный бит кода в проекте веб-приложения и В.С. говорит: «О, это веб-сайт проекта, так что я лучше autocompile ней», а затем падает, когда он находит, что уже составлен, как одной DLL, а также.

Причины, перечисленные выше Дарины являются основными виновниками.

Обратите внимание, что можно получить подобную ошибку accidentially имея две ссылки на одной и той же сборки, двойные ссылки в вашем web.config сборками разделе, или случайно сбросив дубликат копии CodeFile в папку в проекте, но это будет, как правило, быть довольно очевидно, если у вас есть отладки включены в вашем web.config, и сообщение об ошибке следует отметить узел, кроме Web App сборки {WebAppName} .dll и автоматических скомпилированных сборки App_Web_ {номера} .dll

Есть довольно много людей говорят (в указанной теме), что обработчики событий были причиной проблемы, но я думаю, что это просто, что есть что-то странное в код, который интерпретируется как требующий autocompile. Я в одной лодке, я вырезать и вставить целую кучу примеров кода в моем веб-приложение, и проверил все выше. Тем не менее, многие страницы имеют код, за которым есть «Web Form Designer» генерируется код на них уже, поэтому, когда я правой кнопкой мыши приложение на решение Проводнике и выберите «преобразовать в веб-приложения», ничего не происходит. Старый код остается там и двойная компиляция продолжается.

Так что я бы сказал, что в дополнении к этим сообщениям: Если код был вырезан и вставлен и есть что-то конвертер не нравится, это не будет преобразовать его и двойной сборник будет продолжаться. Единственным решением является добавление обижая страницы как новые элементы, скопируйте разметку и код более (по кусочкам, если это необходимо), а затем удалить старые версии.

В моем случае, я просто пошел на веб-сайт для проекта, потому что я не мог быть обеспокоен, и это было только демонстрационный проект в любом случае.

Ответил 09/02/2010 в 08:53
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more