M.H*_*san 2 c# nuget nuspec visual-studio-2017 msbuild-15
我使用 msbuild v15.8.168.64424(vs 2017.8)命令行为控制台应用程序构建 nuget 包。我使用ILMerge合并所有依赖项,因此我只得到一个没有依赖项的exe文件。
运行命令时
        msbuild project1.csproj /t:build /p:configuration=release /p:IsTool=true
Run Code Online (Sandbox Code Playgroud)
我得到了 nuget 包,但是在检查它时,我发现了dependencies section.
     <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>
Run Code Online (Sandbox Code Playgroud)
我希望“依赖项”部分为空(因为我合并了所有依赖项)。
我可以使用 nuspec 文件生成没有依赖项部分的包,但缺点是手动传递 csproj 中包含的所有元数据。我在包目标输入中没有找到依赖项的属性
问题:
如何从生成的 nuget 包中包含的 nuspec 文件中删除依赖项部分?
您可以在 csproj 文件中设置PrivateAssets="All"包或项目引用 ( <PackageReference>/ )的元数据,以将它们排除为 NuGet 依赖项。<ProjectReference>
请注意,此更改需要还原,因此请在其间执行 NuGet 还原或添加-restore到 MSBuild 调用。
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           1316 次  |  
        
|   最近记录:  |