在我們的Web應用程序中,我選擇iu-Cans-CA
區域設置作爲僞字段,其中字符串資源關鍵字也用作值。這是爲自動化測試提供幫助。要爲此語言環境生成.resx
,我正在使用T4模板。獲取T4生成的.resx文件以生成
.resx
生成正確,但有些錯誤:資源文件沒有像其他編譯到程序集中real翻譯是。我終於找出原因。由於T4模板來生成.resx
,該.csproj
包含此:
<EmbeddedResource Include="Strings.iu-Cans-CA.resx">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Strings.iu-Cans-CA.tt</DependentUpon>
</EmbeddedResource>
出於某種原因,這是防止.resx
進行編譯。如果我更新.csproj
這一點,確實編譯:
<EmbeddedResource Include="Strings.iu-Cans-CA.resx">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
</EmbeddedResource>
我希望這將是它的結束,但現在每當.csproj
在Visual Studio中加載,項目文件再次更新到前一個結構,再次打破資源文件的編譯。
有沒有辦法修復東西,以便生成/依賴.resx
作爲嵌入資源正確編譯?或者有沒有辦法永久打破依賴關係,因此它不會得到恢復?我意識到我可以重寫.tt
,因此它會生成一個不同名稱的文件,但是我寧願找到一個不需要這個的解決方案,因爲這是T4的非典型用法,我想避免太多的WTF。
Bah,在Connect網站上關閉爲「無法修復」。有時候我想知道爲什麼我打擾向黑洞提交錯誤:https://connect.microsoft.com/VisualStudio/feedback/details/801997/t4-generated-resx-files-not-compiling – Jacob