我的ASP.NET Web应用程序的App_GlobalResources文件夹中有一个resx文件。
必须将其构建属性设置为“内容”,以便在发布期间自动包含该文件,并且我可以使用<%$ Resources: ... %>
表达式。
必须将其构建属性设置为“嵌入资源”so that my unit tests can access the resources。
我可以使用一些技巧同时拥有它们吗?
注意:链接问题中的解决方案无效,因为
<%$ Resources: ... %>
支持。有没有我错过的解决方案?
答案 0 :(得分:0)
将资源文件的build属性设置为&#34; Embedded Resource&#34;。
然后,为了确保在发布时包含它们,请将以下内容添加到vbproj
或csproj
文件的底部:
<Target Name="CopyResx" AfterTargets="CopyAllFilesToSingleFolderForPackage">
<ItemGroup>
<ResxFilesToCopy Include="App_GlobalResources\*.resx" />
</ItemGroup>
<Copy SourceFiles="@(ResxFilesToCopy)" DestinationFolder="$(WebProjectOutputDir)\$(WPPAllFilesInSingleFolder)\App_GlobalResources" />
</Target>
注意:我们需要使用CopyAllFilesToSingleFolderForPackage
代替MSDeployPublish
,因为后者won't be executed when publishing a web application to a file system directory。