簡體   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