繁体   English   中英

如何将C ++ / CX内置的Windows运行时组件安装到C#项目中?

[英]How do you install a Windows Runtime Component built in C++/CX into a C# project?

我有一个名为foo的库,它是用C ++ / CX编写的。 我选择了一个Windows运行时组件,因为我希望将它投射到C#,C ++和JavaScript中。 此外,我希望能够分发库,我不希望/允许使用者在与项目相同的解决方案中加载我的项目以及源文件。

MSDN上的说明仅演示了如何将Windows运行时组件项目包含在使用C#项目的解决方案中。 我知道有一种方法只能分发二进制文件,但我不知道如何。

这个问题已被问过一千次,但答案总是在同一个解决方案中有两个项目,不完整或是一种解决方法。

我在Windows 8.1上使用Visual Studio 2013.4。

一种方法是创建组件的VSIX包。 请参阅演练:使用C ++创建SDK ,其中显示了如何使用C#项目使用的WinRT组件执行此操作。

我研究并找到答案......它没有很好地记录,它不直观,但是当你看到Windows运行时组件的工作情况时,它是值得的。

编译C ++ / CX库:

确保为Win32ARMx86x64DebugRelease所有排列编译库。

在C#中使用的说明:

在解决方案资源管理器中右键单击“引用”,然后添加对Microsoft Visual C ++运行时包v12.0的引用。 然后使用适合您项目的配置(即Debug / ARM )添加对您创建的二进制文件的引用。 此步骤很棘手,因为文件过滤器会提示您输入.dll ,但您需要将过滤器设置为*.*并选择.winmd文件。 然后卸载项目,找到刚刚添加的库的<Reference>标记。 <Reference>下面会有一个<HintPath>标签,在<Reference>你还需要添加<IsWinMDFile>true</IsWinMDFile>和一个<Implementation>标签对,加载的是.dll的名字。与.winmd文件位于同一文件夹中。

有关更详细的说明和信息,我强烈建议您访问Mike Taulty的博客

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM