.net core dotnet build如何选择输出名称
首先,让我解释一下导致这个问题的问题 如果我使用.net core dotnet build如何选择输出名称,.net-core,.net Core,首先,让我解释一下导致这个问题的问题 如果我使用dotnet new创建一个新项目,并使用-narg指定一个随机项目名称,那么在从默认bash终端执行dotnet restore-dotnet build后,最终输出名称始终为React+。输出类型。比如: /bin/Debug/netcoreapp2.0/React.dll 我不使用dotnet命令指定任何附加参数。而且看起来选择哪种类型的项目无关紧要:我已经用console和webapi试过了 但是我发现,如果我在VS代码中打开项目,并从
dotnet new
创建一个新项目,并使用-n
arg指定一个随机项目名称,那么在从默认bash终端执行dotnet restore
-dotnet build
后,最终输出名称始终为React
+。输出类型。比如:
/bin/Debug/netcoreapp2.0/React.dll
我不使用dotnet
命令指定任何附加参数。而且看起来选择哪种类型的项目无关紧要:我已经用console
和webapi
试过了
但是我发现,如果我在VS代码中打开项目,并从VS代码终端(也就是bash)执行相同的
dotnet build
命令,那么输出名称是正确的,并且等于project\u name+。output\u type
所以之前我认为在构建过程中,输出名称总是取自.csproj
文件名。但现在看起来有什么东西可以覆盖这种行为:不同的终端-不同的环境设置,等等
原因输出名称包含React
我将责任归咎于React cli工具,但这无助于我确定名称覆盖的原因
我从两个终端执行了dotnet--info
,输出是相同的:
.NET Command Line Tools (2.0.0)
Product Information:
Version: 2.0.0
Commit SHA-1 hash: cdcd1928c9
Runtime Environment:
OS Name: Mac OS X
OS Version: 10.13
OS Platform: Darwin
RID: osx.10.12-x64
Base Path: /usr/local/share/dotnet/sdk/2.0.0/
感谢@MartinUllrich,我发现
$TARGETNAME
变量覆盖了项目名称。删除变量可以修复此问题:
> unset TARGETNAME
msbuild还将环境变量视为可能重写项目中的值的“全局属性”。
env
是否显示设置为React
的任何变量?