Когда я добавить или изменить строку в существующий файл Resx соответствующий designer.cs файл становится пустым (0 KB) и проект больше не компилируется: CS0234дизайнер Resx файл остается пустым
об ошибке: Тип или пространство имен «Свойства» не существует в пространстве имен «Hundegger.Gui» (пропущена сборка ссылки?)
Все вроде бы нормально, хотя.
Из файла .csproj:
<Compile Include="Properties\Hundegger.Gui.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Hundegger.Gui.resx</DependentUpon>
</Compile>
<EmbeddedResource Include="Properties\Hundegger.Gui.resx">
<Generator>PublicResXFileCodeGenerator</Generator>
<LastGenOutput>Hundegger.Gui.Designer.cs</LastGenOutput>
</EmbeddedResource>
Любые идеи, что может быть не так ??? Файл resx довольно прост. В настоящее время только содержит 10 строк.
Когда-то назад мы преобразовали проект в целевой .net framework 4.5.2 (ранее использовал 4.0).
Другой проект в том же решении (который также был преобразован в 4.5.2) не имеет этой проблемы. Как только строка в файле resx будет изменена/добавлена, файл конструктора будет восстановлен и не будет пустым. Я не вижу разницы в файлах .csproj, касающихся файлов resx.
Am using Visual Studio 2013.
Спасибо!
EDIT - получение где-нибудь !!
Я столкнулся с этим другим вопросом, и это дало мне представление. Visual Studio 2010 doesn't generate Resource (Resx) designer code if file is localized
Похоже, что некоторые расширения в имени файла resx заставляют ВС НЕ генерировать соответствующий файл designer.cs.
Предыдущий вопрос упоминает локализации расширений: FR, EN, DE, и т.д. ...
Однако: Gui имеет тот же эффект.
Если я переименую файл resx в Hundegger.Gui2.resx, тогда все будет работать нормально.
Я могу проверить это, создав пустой проект в VS 2013. Если имя файла resx заканчивается на .gui или .job, тогда файл конструктора не генерируется.
Это должно было измениться не так давно, иначе существующие файлы дизайнеров не были бы сгенерированы.
Поэтому я предполагаю, что во избежание подобных проблем избегайте использования «.». в имени файла resx.
Итак, для нашей цели нам придется переименовывать файлы resx.
Вы на VS 2013 Update 5? – ZoolWay
@ZoolWay да!Это уместно? – santiagoIT
Вы обновляетесь (насколько это касается VS2013) - так что это не должно быть проблемой. – ZoolWay