1

從這裏使用說明:http://visualstudiogallery.msdn.microsoft.com/527286e4-b06a-4234-adde-d313c9c3c23e如何實現一個經紀公司的組件:Windows應用商店的應用程序

運行Visual Studio 2013的管理員與更新2

我創建一個C#BWRC項目,TestBwrc。在Class.cs中添加一個返回1的int屬性。

我向解決方案添加了一個新項目,一個名爲TestBwrc.Ps的C++ Brokered Windows ProxyStub。

我添加了對TestBwrc項目的引用,並將項目鏈接器屬性設置爲Register Output。

然後我構建解決方案。

我在解決方案中添加了一個新項目,一個名爲TestBwrc.Client的C#空白windows應用程序。我添加了對TestBwrc.Ps項目的引用。 解決方案構建時沒有錯誤或警告。

在App.xaml.cs的OnLaunched方法中,我添加了TestBwrc.Class c = new TestBwrc.Class(); Visual Studio抱怨「無法解析符號」類「」 解決方案構建時沒有錯誤或警告。

運行該應用程序會引發異常,TestBwrc.Class未註冊。

我錯過了什麼?

編輯:

同樣在TestBwrc.Client我加入了擴展標記應用程序清單與TestBwrc.Class的CLASSID和「.. \調試\ TestBwrc.Ps」

回答

0

路徑值問題是我編輯中提到的ActivateableClassAttribute中「.. \ Debug \ TestBwrc.Ps」的路徑值。雖然%ProgramFiles%將被擴展,但不是,也不是$(SolutionDir)。因此,對於開發工作的唯一值是C:\ dev \ TestBwrc \ Debug \ TestBwrc.Ps

<Extensions> 
    <Extension Category="windows.activatableClass.inProcessServer"> 
     <InProcessServer> 
     <Path>clrhost.dll</Path> 
     <ActivatableClass ActivatableClassId="TestBwrc.Class" ThreadingModel="MTA"> 
      <ActivatableClassAttribute Name="DesktopApplicationPath" Type="string" Value="C:\dev\TestBwrc\Debug\TestBwrc.Ps" /> 
     </ActivatableClass> 
     </InProcessServer> 
    </Extension> 
    </Extensions> 
+0

然後,你如何部署到機器?目標設備上的路徑不會保持不變。這是我目前正在努力的部分。感謝您的任何建議。 –

+0

由於這些應用程序是由IT「側面加載」的,而不是通過Windows商店安裝的,在我們的情況下,我們將其安裝到了標準化位置。然後,我編寫了一個控制檯應用程序,供成功編譯後用於解決方案,以基於Debug或Release構建更改路徑。 –

+0

更靈活的解決方案是使用WIX或其他安裝程序,並編寫真正的安裝程序來解析路徑。 –

相關問題