发布.NET Core时未创建Release版本的文件夹

时间:2018-09-03 09:25:42

标签: bash .net-core publish

您好,我正在使用bash脚本从源中获取publish文件夹,并将其放在另一个应用程序的文件夹中。

问题是,当我使用dotnet publish时,publish文件夹仅针对Debug构建而创建。
即使我的项目位于Release构建集中dotnet命令会为Debug生成。我在做什么错了?

Bash脚本

releasepath="D:\Work\redius\core\redius\bin\Release\netcoreapp2.1\publish" 
destpath="D:\dotpeek"
rediuspath="D:\Work\redius"
curDir="$(pwd)\out.txt"

if  [ ! -f curDir ]; 
then  
touch  $curDir
fi

echo $releasepath
rm -rf  $destpath
mkdir $destpath
(cd $rediuspath &&  dotnet publish | $curDir && echo "done publishing")
echo "Copying from : ${releasepath} to ${destpath}"
cp -rf  releasepath destpath
cd

我需要在脚本第一行中存在该文件夹。我尝试使用publish中的vstudio,但它创建了一个nupkg文件。

2 个答案:

答案 0 :(得分:1)

您必须使用dotnet build -c Release构建项目。然后它将可以在发布模式下创建dll。

答案 1 :(得分:0)

dotnet publish首先构建项目,然后发布。默认情况下,使用构建配置Debug

如果要使用构建配置Release来构建项目,则必须指定-c标志。

dotnet publish -c Release

https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-publish?tabs=netcore21

如果需要指定其他构建标志,则可以先构建项目,然后发布它。

dotnet build -c Release
dotnet publish --no-build