【发布时间】:2013-09-12 17:57:18
【问题描述】:
我制作了一个 NuGet 包,当我在 C# 项目中使用它时效果很好。它在lib/net40 目录中包含一个 DLL,该 DLL 被添加为引用。
既然 NuGet 支持 C++,我如何实际修改我的包,以便可以将 DLL 作为托管引用添加到 C++/CLI 项目中?我找不到任何解释这一点的教程。如果我尝试按原样添加包,则会收到以下错误:
您正在尝试将此包安装到以“Native,Version=v0.0”为目标的项目中,但该包不包含任何与该框架兼容的程序集引用或内容文件。
有人会认为解决方案是将文件放在 lib/native 下,但根据http://docs.nuget.org/docs/reference/support-for-native-projects,不支持。此外,简单地将 DLL 直接放在 lib 下似乎没有任何作用。
显然,我应该使用 build/native 下的 .props 或 .targets 文件来执行此操作,但我需要在这些文件中添加什么才能使其工作?
【问题讨论】:
-
我认为这更像是 NuGet 中的一个错误,而不是您需要在包中调整的内容。看到这个:nuget.codeplex.com/workitem/3665另外,这个问题是相关的:stackoverflow.com/q/18786338/289770
-
谢谢!有趣的是,在我提出问题的第二天,错误报告是如何发布的。我现在已经投票了。尽管如此,无论有没有错误,我相信使用 NuGet 脚本可以解决这个问题,我正在寻找一个可以做到这一点的指南。
-
10 个月后,但也许这个 ([stackoverflow.com/questions/23571241/…) 可能会对您有所帮助。 [1]:stackoverflow.com/questions/23571241/…
标签: .net dll c++-cli nuget nuget-package