【发布时间】:2017-10-31 19:38:38
【问题描述】:
假设我想构建一个 Nuget 包,它将源代码文件放入它安装到的 Visual Studio 项目中。好吧,这对the "content"-approach 非常有效。
这意味着我可以将这些文件放在以下文件夹结构中,以自动将它们添加到文件系统和 VS 项目中:
.\ThePackage.nuspec
└ content\TheFile.cs
└ content\TheOtherFile.cs
有了这样的包,Nuget 会自动将源代码文件直接添加到项目中。但是,它对 both 文件执行此操作,因此我没有办法将其设为条件。
“为什么?”您可能会问 - 好吧,我真的没有两个 cs 文件。我有一个用于 C#,一个用于 Visual Basic,用不同的语言做同样的事情。所以我需要区分 C# 和 Visual Basic 项目文件。上面的内容方法具有这样的结构......
.\ThePackage.nuspec
└ content\TheFile.cs
└ content\TheFile.vb
...当然会导致每个项目中的cs 和vb 文件混合在一起。
有没有办法告诉 Nuget 我只想在 C# 项目中拥有 cs 文件和在 Visual Basic 项目中拥有 vb 文件,而无需提供两个 Nuget 包,如 ThePackage for C# 和 ThePackage for VB ?
【问题讨论】:
-
您可以将 init.ps1-file 添加到安装时执行的 nuget-package。在那里您可以放置一些逻辑,例如检测项目中使用的语言等并删除/添加不需要或想要的文件
-
我解决了 - 如果您将此作为答案发布,我可以给您一些积分。
标签: c# vb.net nuget nuget-package nuget-spec