M.H*_*san 2 .net c# msbuild .net-core
我使用的是VS2017新的SDK风格项目
在 dotnet 中,我可以使用以下命令进行打包:
dotnet pack project.csproj --no-dependencies --no-restore --output c:\packages -p:TargetId=abc -p:configuration=release
Run Code Online (Sandbox Code Playgroud)
在 msbuild 中,我可以使用以下命令进行打包:
msbuild project.csproj /t:pack -p:TargetId=abc -p:configuration=release
Run Code Online (Sandbox Code Playgroud)
如何--no-dependencies --no-restore --output
使用 msbuild设置 dotnet 的选项
--no-restore
不需要翻译。如果确实要恢复,请将-restore
(简短形式-r
)传递给 msbuild。--no-build
翻译成 -p:NoBuild=true
--no-dependencies
转换为-p:RestoreRecursive=false
(请注意,这实际上并不需要与 一起使用--no-restore
)--output
翻译成 -p:PackageOutputPath=C:\some\path
请注意其他命令,例如build
转换--no-dependencies
为不同的内容:-p:BuildProjectReferences=false
它不会构建项目到项目的引用,而这可能是您想要的。
从命令行参数到 MSBuild 参数的完整映射分布在 dotnet/cli GitHub Repo 中的几个源文件中:
pack
命令参数。NuGet 目标支持的更多参数 - 您可以从命令行或项目文件中设置 - 在NuGet 包中记录并作为 MSBuild 目标还原。