C# 如何使用msbuild 15从生成的nuget包中的nuspec文件中删除dependencies部分

C# 如何使用msbuild 15从生成的nuget包中的nuspec文件中删除dependencies部分,c#,visual-studio-2017,nuget,nuspec,msbuild-15,C#,Visual Studio 2017,Nuget,Nuspec,Msbuild 15,我使用msbuild v15.8.168.64424(vs 2017.8)命令行为控制台应用程序构建nuget包。我使用ILMerge合并所有依赖项,因此我只得到一个没有依赖项的exe文件 运行命令时 msbuild project1.csproj /t:build /p:configuration=release /p:IsTool=true 我得到了nuget包,但在检查它时,我发现了依赖项部分 <dependencies> &l

我使用msbuild v15.8.168.64424(vs 2017.8)命令行为控制台应用程序构建nuget包。我使用ILMerge合并所有依赖项,因此我只得到一个没有依赖项的exe文件

运行命令时

        msbuild project1.csproj /t:build /p:configuration=release /p:IsTool=true
我得到了nuget包,但在检查它时,我发现了
依赖项部分

     <dependencies>
           <group targetFramework=".NETFramework4.5">
            <dependency id="lib1" version="1.3.0" exclude="Build,Analyzers" />
            <dependency id="lib2" version="2.3.0" exclude="Build,Analyzers" />              
          </group>
        </dependencies>

我希望`依赖项'部分为空(因为我合并了所有依赖项)

我可以使用nuspec文件生成包而不使用依赖项部分,但缺点是手动传递csproj中包含的所有元数据。 我在中找不到依赖项的属性

问题:


如何从生成的nuget包中包含的nuspec文件中删除依赖项部分?

您可以在csproj文件中的包或项目引用(
/
)上设置元数据
PrivateAssets=“All”
),以将其作为nuget依赖项排除


请注意,此更改需要还原,因此请在其间执行NuGet还原,或将
-restore
添加到MSBuild调用。

是否使用添加的
-restore
参数进行生成,或在其间执行NuGet还原?谢谢@Martin,Yeees,它正在使用-restore。请你在回答中解释一下。