C# dotnet和msbuild中的包之间的差异
我使用VS2017的新SDK风格项目 在dotnet中,我可以使用以下命令进行打包:C# dotnet和msbuild中的包之间的差异,c#,.net,.net-core,msbuild,C#,.net,.net Core,Msbuild,我使用VS2017的新SDK风格项目 在dotnet中,我可以使用以下命令进行打包: dotnet pack project.csproj --no-dependencies --no-restore --output c:\packages -p:TargetId=abc -p:configuration=release msbuild project.csproj /t:pack -p:TargetId=abc -p:configuration=relea
dotnet pack project.csproj --no-dependencies --no-restore --output c:\packages -p:TargetId=abc -p:configuration=release
msbuild project.csproj /t:pack -p:TargetId=abc -p:configuration=release
在msbuild中,我可以使用以下命令进行打包:
dotnet pack project.csproj --no-dependencies --no-restore --output c:\packages -p:TargetId=abc -p:configuration=release
msbuild project.csproj /t:pack -p:TargetId=abc -p:configuration=release
如何使用msbuild设置dotnet--无依赖项--无恢复--输出的选项
--无恢复
不需要翻译。如果确实要还原,请将-restore
(缩写-r
)传递到msbuild
--no build
转换为-p:NoBuild=true
--no dependencies
转换为-p:RestoreRecursive=false
(请注意,这实际上不需要与--no restore
一起使用)
--output
转换为-p:PackageOutputPath=C:\some\path
请注意,其他命令,如build
会将--无依赖项
转换为其他命令:-p:BuildProjectReferences=false
,它不会生成项目到项目的引用,这可能是您想要的
从命令行参数到MSBuild参数的完整映射分布在dotnet/cli GitHub Repo中的几个源文件中:
- 包含主
pack
命令参数
- 其中的一些。都用过了
- 因为它是一个支持隐式还原的命令,所以它使用来自的还原选项
NuGet目标支持的更多参数(您可以从命令行或项目文件中设置)记录在。中,msbuild似乎在打包时恢复并重新生成。如何停止此操作,或者我应该使用dotnet pack?编辑以同时显示-p:BuildProjectReferences
<代码>--没有依赖项
对不同的命令执行不同的操作(是的,这太令人困惑了)。我也忘了——没有bulid
msbuild
不会还原,除非使用-t:restore
或-r
/-restore
调用。您必须查看构建日志,以查看在构建期间调用了哪些目标