如何将共享C#NuGet依赖项添加到C ++ / Cli项目?

上下文:具有2个程序集,Cs和Cpp的Visual Studio解决方案。

  • Cs是C#/ .net45 dll
  • Cpp是一个C ++ / Cli dll,一个用/ clr编译的C ++ DLL。

我有一些来自nuget.org的纯C#项目的依赖项。 我使用作者提供的原始包。 将它们添加到Cs项目工作正常,但不是Cpp。

如何将C#包添加到C ++项目中?

因为它是C ++ / Cli,所以我可以很容易地使用.net对象,并且我在C#库中使用例如来自C#库的东西。 但不知何故nuget只允许我选择C#项目来添加C#依赖,而不是C ++ / clr。

在C ++ / CLI项目中,只需将一个引用(菜单 – >引用 – >添加新引用 – >浏览 – >浏览…)添加到nuget下载到[solutionfolder] / packages / nlog的nlog.dll中。 。文件夹。 这似乎对我有用。

我完成它的方法是制作一个“nugetmaster”,它引用了其他两个项目将使用的所有nuget。 首先构建一个,并在每个项目中手动引用nuget程序集。 额外的奖励是对版本进行更多控制,只有一次更新所有其他项目。 这很好地扩展。

另一种方法类似于上面的方法 – 创建它们使用的共享C#程序集,它还使用nuget程序集实现所有代码。 并且只暴露包装纸。

请参阅NuGet文档,尤其是“-IncludeReferencedProjects”参数。

“来自项目”部分; http://docs.nuget.org/docs/creating-packages/creating-and-publishing-a-package

问候…