本机 Nuget 包安装在 VS 中,但没有为C++(本机)项目添加引用
Native Nuget Package Installs in VS But No Reference Added For C++ (Native) Projects
我刚刚创建了一个本机Nuget包(C/C++(,并尝试在Visual Studio中的另一个本机包中使用它。从Nuget包管理器中,我能够看到nuget已安装,并且在package.config中我能够看到它。但在项目引用下,它仍然没有被引用。如何添加对本机 Nuget 的引用?
我已经尝试根据 nuget 版本更新 package.config,但这没有帮助。
这是非常不幸的,但原生的Nugets已经成为过去。Microsoft正在开发的VSPkg仍在进行中,可能会 在 2020 年左右发布。CoApp 提供了一种创建本机 C、C++ Nuget 的默认方法,但随之而来的是很多问题。CoApp
项目结束 处于测试阶段,因此您获得的支持很少,并且仅来自聊天论坛或 IRC。
尽管CoApp
确实是创建本机库/nuget的好工具,但默认情况下,Nuget 包管理器会为本机 nuget 带来很多问题。第一个 最重要的是参考。 默认情况下,Nuget 使用包管理器来解决此问题,但如果本机项目中的本机 nuget,则无法选择。ProjectReferences
仍然是一回事 将来C++项目,您仍然必须使用 package.config 来声明版本控制和引用。
包管理器/CoApp 创建带有"/Native"标记的本机包,也没有任何版本控制。因此,如果没有任何版本控制,就无法在本机项目中引用 nuget。 使用本机 Nuget 的唯一方法是在.Net Core
应用程序中、Xamarin
中或C#
提供上述功能的多目标项目中。非常不幸的是,C/C++ nuget 不能在 VS 中的 C/C++ 项目中使用。
无法通过Visual Studio直接将本机(C/C++(构建的nuget添加到本机(C/C++(项目中。好在 至少不是默认的。 合并它的唯一方法是在运行时加载 Dll(而不是 nuget(。这似乎是唯一的方法。 好吧,无论如何,没有必要向C++项目添加C++nuget。最好添加对 DLL 的引用。 以防万一您不想这样做,您可以采用其他选项在运行时加载 DLL。 这里做了一件非常相似的事情: https://github.com/aspnet/KestrelHttpServer/blob/e4b9bd265c75704529409638fd9cdfac504a93ef/src/Microsoft.AspNet.Server.Kestrel/KestrelEngine.cs#L26
- 从C++本机插件更新Vector3数组
- GCC本机矩阵运算库
- VC++本机单元测试,找不到调试符号
- 在这种情况下,java对象是否可以调用本机函数
- PC中的程序和PHONE中的本机描述应用程序之间的数据连接
- 为什么导入Mixed native/CLR lib.dll的本机C++应用程序没有在Mixed lib.dll中的外部变
- 无法将标准库导入本机 android 项目中的头文件
- 使用本机 C++ 应用程序中的 C# 代码
- 在nodejs中使用本机代码的最佳方法是什么?
- 如何告诉本机节点模块所需的dll存储在哪里?
- 在自定义程序中使用本机 Windows 自然顺序排序
- 如何在C++非托管/本机 DLL 中从注册免费 COM C# 托管 DLL 创建 COM 对象
- MS 本机单元测试 - 断言::线程失败不起作用
- 将音频从浏览器流式传输到WebRTC本机C++应用程序
- Winapi - SetWindowLongPtr in ShutdownBlockReason创建/销毁JNI本机代码
- C++/CLI 混合托管/本机 DLL 不起作用
- 子系统中的异常处理:本机
- 多次调用本机方法时出现致命错误
- 如何使用 Malloc 调试来检查本机内存泄漏?
- 使用本机 JNI 静态方法实现C++ Java 运行时错误