- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我制作了一个 NuGet 包,当我从 C# 项目中使用它时,该包运行良好。它在 lib/net40
目录中包含一个 DLL,并且该 DLL 被添加为引用。
现在 NuGet 支持 C++,我如何实际修改我的包,以便可以将 DLL 添加为 C++/CLI 项目中的托管引用?我找不到任何解释这一点的教程。如果我尝试按原样添加包,则会收到以下错误:
You are trying to install this package into a project that targets 'Native,Version=v0.0', but the package does not contain any assembly references or content files that are compatible with that framework.
有人会认为解决方案是将文件放在lib/native下,但是根据http://docs.nuget.org/docs/reference/support-for-native-projects ,不支持。另外,简单地将 DLL 直接放在 lib 下似乎没有任何作用。
显然,我应该使用 build/native 下的 .props
或 .targets
文件来执行此操作,但是我需要在这些文件中放入什么才能使这项工作?
最佳答案
如Patrick O'Hara wrote ,NuGet 不会为您更改 C++/CLI 项目。请参阅GitHub Issue NuGet/Home#1121 - Cannot install managed packages into a CLI project 。但是,使用 NuGet 命令行实用程序,NuGet.exe
,您可以让 NuGet 下载并解压所需的包。
作为一个完整的示例,以下是我添加对 OptimizedPriorityQueue 的引用所采取的步骤。 Visual Studio 2013 C++/CLI 项目中的 1.0.0:
在包管理器控制台中,安装 NuGet.CommandLine 包:
Install-Package NuGet.CommandLine
(Note: As of this writing, the latest version of NuGet.CommandLine is 2.8.6. It may be different for you.)
Within your project folder, there should now be a .nuget\packages.config
XML file with the following contents:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="NuGet.CommandLine" version="2.8.6" />
</packages>
在 Notepad++ 等文本编辑器中,添加 <package>
所需包的元素。在本例中,我添加了:
<package id="OptimizedPriorityQueue" version="1.0.0" />
..在<packages>
内元素。
打开命令提示符(我打开了 VS2013 开发人员命令提示符,但常规命令提示符应该可以工作。)
cd
进入项目文件夹。运行以下命令,如果不同,则更改 NuGet.CommandLine 的版本号:
.\packages\NuGet.CommandLine.2.8.6\tools\NuGet.exe Install -NonInteractive -OutputDirectory packages .nuget\packages.config
For me, the output was:
Installing 'OptimizedPriorityQueue 1.0.0.0'.Successfully installed 'OptimizedPriorityQueue 1.0.0.0'.All packages listed in packages.config are already installed.
packages
subdirectory of your project folder and click the Add button. Click OK to close the Add Reference dialog.You should now be able to use the assembly in your C++/CLI project:
using namespace Priority_Queue;
//...
关于.net - 如何使我的托管 NuGet 包支持 C++/CLI 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18694947/
我在全局范围内安装了最新的 angular-cli,并且我的项目正在成功构建。 在阅读另一个问题的建议解决方案时,(https://github.com/angular/angular-cli/iss
根据official docs关于 .angular-cli.json 配置文件,仅支持 main、test、polyfills 作为 webpack 入口文件。 如何通过定义 .angular-cl
我想在s3存储桶中搜索文件名abc.zip,并且有将近60个存储桶,每个存储桶都有2到3个级别的子目录或文件夹。我尝试使用AWS CLI命令执行搜索,以下是我尝试过的命令,但即使文件存在于存储桶中,也
我正在尝试在 C++/CLI 中查找赋值运算符和复制构造函数的示例。我在 Google 上花了很多时间,但令人惊讶的是我找不到一个看起来很常见的例子。 最佳答案 .NET 语义没有复制构造函数或赋值运
我需要获取另一个窗口的句柄。 这是它的代码: private: System::Void btn_find_Click(System::Object^ sender, System::EventAr
有点好奇实际上有多少人使用 C++/CLI?那么有多少人在使用它呢?人们是否只在托管环境下寻找程序员的特定工作?围绕 c++/cli 的社区有多大?从我目前看到的情况来看,有不少语法变化,作为 C++
我正在阅读一些 C++/CLI Material ,并且遇到了文字字段的概念: literal int inchesPerFoot = 12; 这是否比 const 更可取,因为 const FIEL
通过 npm install -g angular-cli@latest 安装 Angular CLI (angular-cli@1.0.0-beta.16) 失败,出现以下错误 npm-debug.
我正在尝试在我的 Ember CLI 应用程序中配置适配器以根据环境使用不同的主机。在开发中,我希望它是默认的当前主机(让我通过 --proxy 选项自定义它,但在生产中我知道它将是 http://s
我最近开始使用 Angular/CLI 工具,我在执行文件时遇到了一个问题,那就是我运行时 ng serve 那么这个命令可以帮助我们在源文件中进行任何更改时自动重新加载站点,但在我的系统中它没有发生
是否有推荐的方法通过 c++ cli 包装 native c++ 库? 最佳答案 不确定是否一种尺寸适合所有人,但是,是的,这很大程度上是一个机械过程。您的 ref 类包装器应该声明一个私有(priv
我有一个关于为要在 C# 中使用的 native C++ 类创建 C++ CLI 包装器的问题。 这是一个示例代码: #include "stdafx.h" #pragma once using na
下面的代码打印 0 和 3。这是代码生成错误吗?我在 .NET 4.0 下使用 Visual Studio 2012 Update 3 RC 运行它 #include "stdafx.h" using
它是如何工作的?它是否有不同的部分 - 有些方法是托管的,有些是非托管的,它是否将每个方法都转换为托管的,试图保持所有东西都处于托管状态并在必须时进行互操作调用? 最佳答案 三种不同的compiler
如果我没记错的话,函数必须是 CLR 世界中类的成员,而全局函数在 C++/CLI 中是可能的。这是否意味着这些全局函数是某种隐藏的“全局”类的一部分?如果是这样,出于反射目的,人们将如何获取其类型?
如何在 Angular 中重建我的项目。我首先使用 ng build 构建它,但无法再次执行该命令,因为它不会让我更改文件夹。 我收到此错误消息: EPERM:不允许操作,lstat 是否有另一个命令
我遇到了两个相互引用的类的问题。我曾尝试使用接口(interface)来解决问题,但遇到了其他问题,例如类重新定义。我只是不确定如何正确执行此操作。 这是我正在做的事情的一个例子。注意:我已经去掉了所
我是 React.js 的新手,我正在尝试从 tutorialspoint 上的教程中学习但我遇到了错误。这是我执行 npm start 命令时控制台上的错误: C:\Users\HP\Desktop
我正在尝试将我的 angular cli 和 angular core 从 12 升级到 13,但看起来存在对等依赖性问题。有人遇到过这个问题吗? npx @angular/cli@13 update
我正在我的 ubuntu 上安装 influxdb_2.0.9,我按照这里的说明操作: https://docs.influxdata.com/influxdb/v2.0/install/?t=Lin
我是一名优秀的程序员,十分优秀!