在 nuget 包中添加第三方 COM 引用

Add third party COM reference in nuget package

我对整个 NuGet 包的东西比较陌生,目前我在包含引用的 COM DLL 方面遇到了一些困难。

我有一个用于 Autodesk Inventor 的实用程序库。所以我包括了 COM 参考。

现在我希望Visual Studio自动创建 NuGet 包

所以每次我构建我的项目时,Visual Studio 都会重新创建 .nuspec 文件并生成包,但不幸的是没有将引用的 Inventor DLL 添加到 NuGet 包内的 lib 文件夹中。我读了很多关于手动添加它或编辑 .nuspec 文件的文章,但是有没有更简单的解决方案 Visual Studio 会为我完成这部分?

我正在使用 VS2017

提前致谢

I read a lot about adding it manually or editing the .nuspec file, but is there a more simple solution where Visual Studio will do this part for me?

正如 Hans 所说,我们不建议您为依赖于 COM 服务器的库构建 nuget 包。但如果你硬要这样做,恐怕你必须手动或编辑 .nuspec 文件。

那是因为它添加的是<COMReference>而不是<PackageReference>,所以我们无法使用Controlling dependency assets将那些dll文件添加到NuGet包中,Visual Studio 我们可以将该 COM dll 包含到 nuget 包中。

因此,要解决此问题,我们必须通过手动或编辑 .nuspec 文件来解决,您可以查看以下线程以获取更多详细信息:

希望这对您有所帮助。