C# 如何实现代理组件:Windows应用商店应用
使用此处的说明: 以管理员身份运行Visual Studio 2013,更新2 我创建了一个C#BWRC项目TestBwrc。在Class.cs中,我添加了一个返回1的int属性 < >我向解决方案添加了一个新项目,一个C++代理的Windows ProxStub,称为TestBWRC.PS。p> 我添加了对TestBwrc项目的引用,并将项目链接器属性设置为注册输出 然后我构建解决方案 我向解决方案中添加了一个新项目,一个名为TestBwrc.Client的C#blank windows应用商店应用程序。我添加了对TestBwrc.Ps项目的引用。 解决方案生成时没有错误或警告 在App.xaml.cs OnLaunched方法中,我添加TestBwrc.Class c=newtestbwrc.Class(); Visual Studio抱怨“无法解析符号“类” 解决方案生成时没有错误或警告 运行应用程序会引发异常,TestBwrc.Class未注册 我错过了什么 编辑:C# 如何实现代理组件:Windows应用商店应用,c#,visual-studio-2013,windows-store-apps,winrt-component,C#,Visual Studio 2013,Windows Store Apps,Winrt Component,使用此处的说明: 以管理员身份运行Visual Studio 2013,更新2 我创建了一个C#BWRC项目TestBwrc。在Class.cs中,我添加了一个返回1的int属性 < >我向解决方案添加了一个新项目,一个C++代理的Windows ProxStub,称为TestBWRC.PS。p> 我添加了对TestBwrc项目的引用,并将项目链接器属性设置为注册输出 然后我构建解决方案 我向解决方案中添加了一个新项目,一个名为TestBwrc.Client的C#blank windows应用商
同样在TestBwrc.Client上,我将扩展标记添加到应用程序清单中,ClassId为TestBwrc.Class,路径值为“.\Debug\TestBwrc.Ps”问题是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>
clrhost.dll
然后如何将其部署到计算机上?目标设备上的路径不会保持不变。这是我目前正在努力解决的问题。感谢您的建议。由于这些应用程序是由IT“侧面加载”的,而不是通过Windows应用商店安装的,因此我们将这些应用程序安装到一个标准化的位置。然后,我编写了一个控制台应用程序,该应用程序在成功编译后用于根据调试或发布版本更改路径。更灵活的解决方案是使用WIX或其他安装程序,并编写一个真正的安装程序来解析路径。如果我想在平板设备中部署该应用程序,有什么特别的事情要做?我已经尝试了你所说的一切,它在我的windows机器上运行,但在我的WinRT平板电脑上没有。