Почему я получаю сборку App_GlobalResources? (Ошибка = CS0433)

Я работаю над проектом ASP.NET MVC2, для которого я настроил локализацию следующим образом ...


У меня есть отдельная сборка ресурсов, содержащая все мои файлы resx. Настройки для каждого файла resx ...

Build Action             = Embedded Resource
Copy to Output Directory = Do not copy
Custom Tool              = PublicResXFileCodeGenerator
Custom Tool Namespace    = Resources

У меня есть инструмент, который экспортирует строки из базы данных в файлы resx и вызывает инструмент resgen.exe для воссоздания файла designer.cs.


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

Это было во временной рабочей папке (я использую subversion). Теперь я перешел к работе в своей обычной папке и получаю довольно странную ошибку.

Сообщение об ошибке компилятора: CS0433: тип "Resources.XXXX" существует в обоих "c: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Temporary ASP.NET Files \ root \ 6c657d01 \ aaca70ae \ assembly \ dl3 \ a36dac65 \" 78c87110_3724cb01 \ Resources.DLL 'и' c: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Temporary ASP.NET Files \ root \ 6c657d01 \ aaca70ae \ App_GlobalResources.g6fehiio.dll '

Я удалил все свои временные файлы asp.net, повторно запустил веб-приложение, и оно регенерирует обе вышеупомянутые сборки. Действительно странно, что все это работало до того, как я перешел в свою обычную рабочую папку.

Итак, может ли кто-нибудь сказать мне, что генерирует эту сборку App_GlobalResources, которая мне не нужна или не нужна, потому что все мои ресурсы содержатся в сборке ресурсов, которую я создал.

PS - Причина, по которой я выбрал Resources.dll, заключалась в том, чтобы обойти проблему, с которой я столкнулся с созданием ресурсов с помощью моего инструмента извлечения базы данных. (см. здесь < / а>)

PPS - я использую VS2010


person Antony Scott    schedule 16.07.2010    source источник


Ответы (3)


дох!

Думаю, когда я переключил свою «обычную рабочую папку» на ветку, в которой она находилась, у меня было несколько файлов в папке «App_GlobalResources».

Я просто попытался создать новую папку App_GlobalResources в VS2010, и мне сказали, что она уже есть, но ее нет в проводнике решений.

Я несколько раз заглядывал в проводник Windows и просто не видел эту папку.

В любом случае проблема решена!

Мораль: не доверяйте проводнику решений или переключателю svn для удаления файлов, которые не принадлежат рабочей копии: '(

person Antony Scott    schedule 16.07.2010
comment
Я поддерживаю это. Найдена папка в каталоге bin, хотя она была удалена из обозревателя решений. - person Ken Pespisa; 20.12.2011

Хотя я не знаю, как остановить автоматическое создание App_GlobalResources сборок во временных файлах ASP.NET. Я понял, как избавиться от этих надоедливых предупреждений.

Как сказано в предупреждении:

Compiler Error Message: CS0433: The type 'Resources.XXXX' exists in both 'c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\6c657d01\aaca70ae\assembly\dl3\a36dac65\78c87110_3724cb01\Resources.DLL' and 'c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\6c657d01\aaca70ae\App_GlobalResources.g6fehiio.dll'

Тип Resources.XXXX существует в обеих сборках. Измените свой Custom Tool Namespace на другое значение, кроме «Ресурсы», и эти предупреждения исчезнут.

person juhan_h    schedule 19.03.2012

  1. Переместите .resx в другую папку (не App_GlobalResources)
  2. Оставьте для пространства имен настраиваемого инструмента значение "Ресурсы"
person David Gardiner    schedule 22.05.2015