自定义nuget包与配置框架

时间:2017-12-13 17:39:47

标签: c# visual-studio msbuild nuget

我正在为我的公司创建一个私有的NuGet包,我想分发两个不同版本的.dll。发布.dll适用于一些可以调用此dll进行开发的开发人员。并且调试.dll id用于某些开发人员为第二个版本开发dll本身。

所以我的问题是,如果我想通过仅使用一个 NuGet包来实现这一目标,这可能吗?我是否必须在MSBuild中添加引用的软件包的安装上创建脚本,或者我是否过于复杂?

有什么建议吗?提前谢谢。

2 个答案:

答案 0 :(得分:1)

您可以创建相同的dll,每个团队都可以获得yournuget -releaseyournuget -debug等内容。

我通常使用构建脚本来创建核心,paketFAKE将帮助您完成工作。

以下是您问题的相关答案: How to create a nuget package with both release and debug dll's using nuget package explorer?

答案 1 :(得分:1)

  

我是否必须在MSBuild中添加引用的软件包的安装上创建脚本,或者我是否过于复杂?

据我所知,你可能会使这些事情过于复杂。这意味着您希望使用一个dll进行调试模式测试,并使用另一个dll进行发布模式,因此这两个dll文件应该是独立的,应该是分布式的到不同的包。因为NuGet包通常只包含特定目标框架的一组程序集。它并非真正用于发布调试版和发行版。

此外,当我们发布nuget包时,dll的发布版本是最好的选择,因为用户不会调试到dll,他们只会关心它是否正常工作以及它是如何工作的

此外,NuGet支持使用任何字符串作为后缀来表示预发布版本,因为NuGet将任何此类版本视为预发布,并且不做其他解释。因此,您可以使用-beta指定用于开发的该DLL的新版本。

https://docs.microsoft.com/en-us/nuget/reference/package-versioning#pre-release-versions

基本上按照我的理解,使用不同版本的软件包应该更好。当然,如果你坚持使用一个包,Nekeniehl提供了正确的方向。

希望这对你有所帮助。