Target Framework 为 .net framework 4.5 的项目,可以不可以在 Linux 下 build, 和 运行 dotnet pack?
答案是可以的,哈哈。微软在Nuget针对这个专门发布了一个Nuget包,想要查看详细 Issue 的可以在这里查看 https://github.com/dotnet/designs/pull/33
Nuget上面包的地址为: https://www.nuget.org/packages/Microsoft.NETFramework.ReferenceAssemblies/1.0.0-preview.2
只需要在你的csproj 文件中修改添加如下即可:
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies"
Version="1.0.0-preview.1"
PrivateAssets="All" />
已在服务器上测试过:具体csporj 配置可以参考 https://github.com/aliyun/aliyun-openapi-net-sdk/blob/master/aliyun-net-sdk-core/aliyun-net-sdk-core.vs2017.csproj
为了支持 linux ,微软真是用心良苦啊
@dudu: 今天看了看 .NET 5.0 的 Roadmap 和规划,看来他们已经在着手开始实践了。
可以,甚至直接运行。
运气好不需要改代码,运气不好要改部分代码,很明显win32标记的基本上要去掉,其他的接口有部分不同或不支持。
Target framework 为什么不直接使用 netstandard1.1
(.NET Framework 4.5)或者 netstandard1.2
(.NET Framework 4.5.1)?使用了 .net standard ,在 linux 上就可以用 .net core 生成并打包
不行,framework只能在windows上使用msbuild工具进行编译。
linux上的dotnet build和dotnet msbuild,dotnet pack 只能打包netstandard、netcore项目。