使用以前的MVC / ASP.NET部署代码时,resx文件是非编译部署的,并且能够修改密钥,反映了值和更改。使用ASP.NET Core 2+,我注意到resx被编译成dll。
我用。编辑了.csproj
<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
<MvcRazorCompileOnPublish>false</MvcRazorCompileOnPublish>
</PropertyGroup>
<ItemGroup>
<Content Include="Resources\*" CopyToPublishDirectory="Always" />
</ItemGroup>
编辑完.csproj并重新部署后,资源文件夹和resx文件就在那里,但是当我在记事本中的服务器上编辑时,编辑没有反映出来。似乎仍然需要编译。
有什么方法可以在不编译的情况下更新resx文件?或者在asp.net核心2中有不同的方法吗?
在解决方案资源管理器中,选择要发布的项目
查看解决方案资源管理器底部的“属性”部分
您还可以查看https://docs.microsoft.com/en-us/aspnet/core/fundamentals/localization?view=aspnetcore-2.1
我个人只为资源创建一个新的类库项目,然后我将其添加为主项目的引用。
这样我就可以编辑,编译和上传资源库项目,而无需构建和上传整个项目。
顺便说一句,资源.resx文件类型没有在类库项目新文件对话框中列出,但您可以创建一个文本文件并手动将其扩展名更改为.resx,它将正常工作。