1

使用此处的说明:http: //visualstudiogallery.msdn.microsoft.com/527286e4-b06a-4234-adde-d313c9c3c23e

使用 Update 2 以管理员身份运行 Visual Studio 2013。

我创建了一个 C# BWRC 项目 TestBwrc。在 Class.cs 中,我添加了一个返回 1 的 int 属性。

我向解决方案添加了一个新项目,一个名为 TestBwrc.Ps 的 C++ Brokered Windows ProxyStub。

我添加了对 TestBwrc 项目的引用,并将项目链接器属性设置为注册输出。

然后我构建解决方案。

我向解决方案添加了一个新项目,一个名为 TestBwrc.Client 的 C# 空白 Windows 商店应用程序。我添加了对 TestBwrc.Ps 项目的引用。解决方案构建时没有错误或警告。

在 App.xaml.cs OnLaunched 方法中,我添加了 TestBwrc.Class c = new TestBwrc.Class(); Visual Studio 抱怨“无法解析符号‘类’”解决方案生成时没有错误或警告。

运行应用程序会引发异常,TestBwrc.Class 未注册。

我错过了什么?

编辑:

同样在 TestBwrc.Client 上,我将 Extensions 标记添加到应用程序清单中,ClassId 为 TestBwrc.Class,路径值为“..\Debug\TestBwrc.Ps”

4

1 回答 1

0

问题是我的编辑中提到的 ActivateableClassAttribute 中“..\Debug\TestBwrc.Ps”的路径值。虽然 %ProgramFiles% 会被扩展,但 .. 不会,$(SolutionDir) 也不会。所以对于 dev 唯一有效的值是 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>
于 2014-07-03T20:24:38.257 回答