Почему я получаю сборку App_GlobalResources?(Ошибка = CS0433) - PullRequest
2 голосов
/ 16 июля 2010

Я работаю над проектом 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 \ Временные файлы ASP.NET \ root \ 6c657d01 \ aaca70ae \ assembly \ dl3 \ a36dac65 \ 78c87110_3724cb01 \ Resources.DLL 'и' c: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319\ Временные файлы ASP.NET \ root \ 6c657d01 \ aaca70ae \ App_GlobalResources.g6fehiio.dll '

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

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

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

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

Ответы [ 3 ]

4 голосов
/ 16 июля 2010

DOH!

Я думаю, что когда я переключил свою "обычную рабочую папку" на ветку, в которой это было, у меня были некоторые файлы в папке "App_GlobalResources".

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

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

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

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

0 голосов
/ 22 мая 2015
  1. Переместить .resx в другую папку (не App_GlobalResources)
  2. Оставьте для пространства имен пользовательского инструмента значение «Ресурсы»
0 голосов
/ 19 марта 2012

Хотя я не знаю, как 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 на что-то иное, чем «Ресурсы», и эти предупреждения исчезнут.

...