Lor*_*ori 4 target-framework .net-core dotnet-cli
我有很多项目的解决方案。一些目标框架netcoreapp2.1,一些其他目标框架netstandard2.0,一个项目有双目标框架
<TargetFrameworks>netstandard2.0;net471</TargetFrameworks>
Run Code Online (Sandbox Code Playgroud)
我想要一个用于 win10 的神器,只需一个命令:
dotnet publish MySolution.sln -c Release -o "targetFolder" -r win10-x64
Run Code Online (Sandbox Code Playgroud)
使用此命令,我在使用双目标框架构建项目时遇到此错误。这是错误:
C:\Program Files\dotnet\sdk\2.1.402\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.CrossTargeting.targets(31,5) error : The 'Publish' target is not supported without specifying a target framework. The current project targets multiple frameworks, please specify the framework for the published application.
Run Code Online (Sandbox Code Playgroud)
错误很明显。最后我发现 dll 在输出目录中编译,看起来它是一个 netstandard2.0 dll,因为我的应用程序仍然可以工作。
我不喜欢肮脏的东西,那么我该如何解决我的问题呢?
如果可能的话,我会避免调用 N 次“dotnetpublish”命令。
不要dotnet publish在解决方案上使用相同的输出目录。尤其是没有“-r”参数。
这是危险的,因为:
为所有应用程序(控制台应用程序、Web 应用程序)项目单独调用它,或创建发布这些应用程序的 MSBuild 文件。
| 归档时间: |
|
| 查看次数: |
8074 次 |
| 最近记录: |