dotnet build如何选择输出名称

时间:2017-10-04 18:54:55

标签: .net-core

首先,让我解释导致这个问题的问题。

如果我使用dotnet new创建新项目并使用-n arg指定随机项目名称,则在执行dotnet restore - 来自默认bash终端的dotnet build后 - >最终输出名称始终 React + .output_type。像:

/bin/Debug/netcoreapp2.0/React.dll

我没有使用dotnet命令指定任何其他参数。看起来选择什么类型的项目并不重要:我尝试过使用consolewebapi

但是我发现如果我在VS Code中打开项目并从VS Code终端执行相同的dotnet build命令(也就是bash) - >输出名称正确且等于project_name+.output_type

所以在我认为输出名称总是在构建期间取自.csproj文件名之前。但现在看来有些东西可以覆盖这种行为:不同的终端 - 不同的环境设置等。

原因输出名称包含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/

1 个答案:

答案 0 :(得分:2)

感谢@MartinUllrich,我发现$TARGETNAME变量会覆盖项目名称。删除变量可以解决问题:

> unset TARGETNAME