【发布时间】:2018-06-27 19:12:48
【问题描述】:
我正在处理的解决方案包括一个 net452 项目,该项目有两个文本文件,设置为:
Build Action: Content
Copy to Output Directory: Do not copy
在代码中访问这些文件如下:
_listItems = Properties.Resources.ListItems.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
在 Visual Studio 2017 中构建解决方案时,资源会按预期加载。
当使用msbuild(构建引擎版本15.3.409.57025)从命令行构建解决方案时,资源会按预期加载。
但是,当使用dotnet build 或dotnet msbuild 从命令行构建解决方案时,资源未正确加载,而是字符串类型替换了文件内容:
System.String, mscorlib, Version=4.0.0.0, Culture=neutral...
查看输出 msbuild 是针对 .NET 框架:
Microsoft (R) Build Engine version 15.3.409.57025 for .NET Framework
dotnet msbuild 的目标是 .Net Core
Microsoft (R) Build Engine version 15.3.409.57025 for .NET Core
这种不同行为的原因是什么,是否可以使用 dotnet build 正确包含资源?
【问题讨论】:
标签: asp.net asp.net-core msbuild