默认情况下阻止dotnet core 3.0构建EXE

时间:2019-10-21 17:36:07

标签: .net command-line-interface .net-core-3.0

使用dotnet core 3.0,在构建过程中添加了一个小功能。根据微软的说法:


.NET Core现在默认情况下会构建与框架相关的可执行文件。对于使用全局安装的.NET Core版本的应用程序,此行为是新的。

我已经搜索过,但是找不到防止这种情况的方法。不幸的是,此可执行文件在将应用程序推送到Cloud Foundry时给我带来了问题,因为它现在认为应该使用为我的应用程序构建的dll与dotnet cli一起运行它时,它是一个独立的EXE。

有什么方法可以防止构建此默认EXE?我总是可以在构建过程中添加最后一步来删除它,但是似乎应该首先有一种方法可以阻止它。

1 个答案:

答案 0 :(得分:15)

@PeterHuene和@vcsjones在上面的评论中完美地回答了这个问题:

可以将UseAppHost属性设置为false(例如,命令行上的/p:UseAppHost=false),这将禁止创建可执行文件。

作为命令行更改的替代方法,您还可以在.csproj的<UseAppHost>false</UseAppHost>中设置<PropertyGroup>