ctr*_*ron 5 .net c# visual-studio nuget .net-standard
我有3个项目的解决方案(使用netstandard1.4).项目A包含共享代码.项目B是服务器端库,项目C是客户端库.项目B和C包括项目A作为项目参考.
现在我想将项目B和项目C发布为nuget包.
问题是项目B和C的nuget包不包含项目A的代码/ dll.看起来项目B和C希望项目A也作为nuget包.
如何将项目B和C打包为独立的nuget包?我不想将项目A发布为nuget包.
\n\n\n如何将项目 B 和 C 打包为独立的 nuget 包?我不想\xe2\x80\x99 不想将项目 A 作为 nuget 包发布。
\n
由于您使用的是.NET Standard 1.4,因此您无法使用直接方式“ dotnet pack”来包含项目引用。由于dotnet pack仅打包项目而不打包其 P2P 引用,因此您可以从文档dotnet-pack和GitHub 上的问题获取详细信息:
\n\n\n打包项目的 NuGet 依赖项已添加到 .nuspec 文件中,因此在安装包时可以正确解析它们。项目到项目的引用未打包在项目内。目前,如果您具有项目与项目之间的依赖关系,则每个项目都必须有一个包。
\n
如果要打包项目 B 和 C 包含项目 A 中的代码/dll,可以使用 NuGet.exe 通过将项目引用程序集添加到 .nuspec 文件来创建包 B 和 C:
\n\n<?xml version="1.0"?>\n<package >\n <metadata>\n <id>TestProjectB</id>\n <version>1.0.0</version>\n <authors>Tester</authors>\n <owners>Tester</owners>\n <requireLicenseAcceptance>false</requireLicenseAcceptance>\n <description>Package description</description>\n <releaseNotes>Test sample for netstandard package.</releaseNotes>\n <copyright>Copyright 2017</copyright>\n <tags>Tag1 Tag2</tags>\n </metadata>\n<files>\n <file src="bin\\Debug\\netstandard1.4\\TestProjectB.dll" target="lib\\netstandard1.4\\TestProjectB.dll" />\n <file src="bin\\Debug\\netstandard1.4\\TestProjectA.dll" target="lib\\netstandard1.4\\TestProjectA.dll" />\n</files>\n</package>\nRun Code Online (Sandbox Code Playgroud)\n\n在这种情况下,您可以将项目 B 和 C 打包为独立的 nuget 包,不需要将项目 A 发布为 nuget 包。
\n| 归档时间: |
|
| 查看次数: |
3233 次 |
| 最近记录: |