使用此处的说明: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项目的引用,并将项目链接器属性设置为Register Output。
然后我构建解决方案。
我在解决方案中添加了一个新项目,一个名为TestBwrc.Client的C#空白Windows应用商店应用。我添加了对TestBwrc.Ps项目的引用。 解决方案构建时没有错误或警告。
在App.xaml.cs OnLaunched方法中,我添加了TestBwrc.Class c = new TestBwrc.Class(); Visual Studio抱怨"无法解析符号' Class'" 解决方案构建时没有错误或警告。
运行应用程序会抛出异常,TestBwrc.Class未注册。
我错过了什么?
编辑:
同样在TestBwrc.Client上,我将Extensions标签添加到应用程序清单中,其ClassId为TestBwrc.Class,路径值为" .. \ Debug \ TestBwrc.Ps"
答案 0 :(得分:0)
问题是路径值" .. \ Debug \ TestBwrc.Ps"在我的编辑中提到的ActivateableClassAttribute中。虽然%ProgramFiles%将被扩展,但..不是,也不是$(SolutionDir)。所以for 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>