我的理解是,当您发布 .NET 标准库时,预期的行为是生成一个.nupkg
.
我有内部 .Net 标准库,我维护这些库以供内部项目使用。典型的工作流程是发布库,然后将发布的文件复制到使用项目。这不是我应该做的事情吗?我对发布 .NET 标准库时缺乏选项感到有点困惑——因为有一个.nupkg
无法选择以其他形式发布。
What I want从发布中获取的只是发布目录中必要的库文件的集合(而不是在nupkg
)。有没有办法做到这一点?
我的理解是,当您发布 .Net 标准库时,
预期的行为是生成 .nupkg。我想从中得到什么
publish只是publish中必要的库文件的集合
目录(不在 nupkg 内)。有没有办法做到这一点?
对于普通的.net框架项目,如果引用一个nuget包并构建它。然后,您将获得一个输出文件夹(bin\debug 或 bin\release),其中包含 Project.dll 和 Package.dll。这就是你想要的。
But for .net standard
项目,它只会输出Project.dll
默认情况下。这也是预期的行为,请参阅comment1 https://github.com/dotnet/sdk/issues/747#issuecomment-276252207, comment2 https://github.com/dotnet/sdk/issues/747#issuecomment-419496825。这就是为什么我建议您需要手动编辑xx.csproj
在构建过程中获得预期的行为。根据设计,它不会将 nuget 依赖项复制到输出,并且this https://stackoverflow.com/a/58090393/10910450是可能满足您需求的解决方法。
至于为什么publish output is a xx.nupkg
当您右键单击项目节点=>在VS IDE中发布(.net标准项目)时,请检查这个文件 https://learn.microsoft.com/en-us/dotnet/standard/net-standard#package-representation:.NET Standard 参考程序集的主要分发工具是 NuGet 包。我认为这就是为什么 Publish 的输出是 xx.nupkg,很难说,但是,这可能是设计使然......
Edit:
有没有一种方法可以发布 .Net 标准库而不生成
Visual Studio 2019 中的 .nupkg?
如果您指的是Publish.net 标准项目的选项。(在解决方案资源管理器中右键单击 .net 标准项目的项目名称=>发布)。恐怕答案是否定的。此选项是设计使然,目前没有其他选项,如publish a folder with all referenced assemblies
都支持。您可能需要添加一个DC 的功能请求 https://developercommunity.visualstudio.com/spaces/8/index.html.
希望我的澄清能有所帮助,如果我误解了什么,请随时纠正我:(
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)