带有zip包的dotnet build cmd为.netcoreapp 2.1创建了一个长子文件夹的zip



这是我为.netcoreapp 2.1 MVC网站创建的dotnet命令,该网站有两个引用主web项目(VinXP.web.csproj(的类库项目(VinXP.Core.csproj, VinXP.Infrastructure.csproj(。

dotnet build VinXP.sln /nologo /p:PublishProfile=Release /p:PackageLocation="E:PublishDRSpackage" /p:OutDir="E:PublishDRSout" /p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /maxcpucount:1 /p:platform="Any CPU" /p:configuration="Release" /p:DesktopBuildPackageLocation="E:PublishDRSpackagepackage.zip"

上面的命令并没有像DesktopBuildPackageLocation中提到的那样在E:PublishDRSpackage中创建zip。相反,它创建E:PublishDRSpackageVinXP.VinXPWeb.zip.

在解压缩这个压缩文件后,我的构建可以在一个非常深的子文件夹中作为使用

E:PublishDRSpackageVinXP.Web.zipContentE_CWorkingProjectsGitVinXPDevelopmentsrcVinXP.WebobjReleasenetcoreapp2.1PubTmpOut[build]

为什么它不能在不创建一个很长的子文件夹的情况下创建一个带有构建的zip文件,就像我在dotnet构建命令的DesktopBuildPackageLocation="E:PublishDRSpackagepackage.zip"中提到的那样?

尝试次数:

1:更改了我的dotnet构建命令"PackageLocation","OutDir","DesktopBuildPackageLocation"的密钥中提到的路径,但它只更改了根文件夹。

2:在微软网站上查找.net文档,发现它对我面临的挑战很有用。

这基本上取决于使用的CLI版本

如果2.X而不是donet build,因为你在Windows PC上,你可以用donet publish代替它

I.Edotnet publish VinXP.sln /nologo /p:PublishProfile=Release/p:PackageLocation="E:PublishDRSpackage" /p:OutDir="E:PublishDRSout"/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true/maxcpucount:1 /p:platform="Any CPU" /p:configuration="Release"/p:DesktopBuildPackageLocation="E:PublishDRSpackagepackage.zip"

理想情况下,为了停止递归目录的创建,您需要在package.json文件中包含(更新(以下内容

"publishOptions": {
"exclude": [
"bin/**",
"obj/**",
"node_modules",
"**.user",
"**.vspscc"
],

1.X由于您使用的是Windows PC,因此可以用msbuild代替donet build

I.E:msbuild VinXP.sln /nologo /p:PublishProfile=Release /p:PackageLocation="E:PublishDRSpackage" /p:OutDir="E:PublishDRSout" /p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /maxcpucount:1 /p:platform="Any CPU" /p:configuration="Release" /p:DesktopBuildPackageLocation="E:PublishDRSpackagepackage.zip"

有关详细信息,请参阅此链接。

有关路径相关问题,请参阅:

1,2

最新更新