ASP.NET Core 2-不要编译resx文件

时间:2018-07-14 17:22:54

标签: asp.net-core asp.net-core-2.0 resx

使用以前的MVC / ASP.NET部署代码时,resx文件是非编译部署的,并且能够修改键,值和更改。使用ASP.NET Core 2+,我注意到resx被编译为dll。

我用.ppro编辑了.csproj

<PropertyGroup>
  <TargetFramework>netcoreapp2.1</TargetFramework>
  <MvcRazorCompileOnPublish>false</MvcRazorCompileOnPublish>
</PropertyGroup>

<ItemGroup>
  <Content Include="Resources\*" CopyToPublishDirectory="Always" />
</ItemGroup>

在编辑.csproj和重新部署后,资源文件夹和resx文件在那里,但是当我在记事本中的服务器上进行编辑时,所做的编辑未反映出来。似乎仍然需要对其进行编译。

有什么方法可以设置resx文件而不进行编译?还是asp.net core 2中有其他方法?

2 个答案:

答案 0 :(得分:0)

在解决方案资源管理器中,选择要发布的项目。

查看解决方案资源管理器底部的“属性”部分

  • 将构建操作更改为内容
  • 将“复制到输出目录”更改为“始终复制”

resx properties

您还可以签出https://docs.microsoft.com/en-us/aspnet/core/fundamentals/localization?view=aspnetcore-2.1

答案 1 :(得分:0)

我个人仅为资源创建一个新的类库项目,然后将其添加为对主项目的引用。

通过这种方式,我可以编辑,编译和上传资源库项目,而无需构建和上传整个项目。

顺便说一句,资源.resx文件类型未在类库项目的“新文件”对话框中列出,但是您可以创建文本文件并将其扩展名手动更改为.resx,这样就可以正常工作。