我正在使用brokered component构建Windows应用商店应用。代理组件旨在实现与设备上的RFID阅读器的交互。当我尝试初始化由代理组件公开的类的实例时,我收到了System.TypeLoadException
消息Could not find or load a type. (Exception from HRESULT: 0x80131522).
我正在努力在两个不同的平板电脑设备上彻底安装Windows 8.1 Professional。两者目前都遇到了这个问题。解决方案过去一直有效;我最近做过的事情必定是造成这种情况。我还验证了可以使用硬件供应商提供的示例应用程序访问RFID阅读器。
我的Package.appxmanifest文件看起来类似于:
<Package ...>
...
<Extensions>
<Extension Category="windows.activatableClass.inProcessServer">
<InProcessServer>
<Path>clrhost.dll</Path>
<ActivatableClass ActivatableClassId="MyApp.RFID.Component.RfidDevice" ThreadingModel="STA">
<ActivatableClassAttribute Name="DesktopApplicationPath" Type="string" Value="C:\Program Files (x86)\MyApp\RFID" />
</ActivatableClass>
</InProcessServer>
</Extension>
</Extensions>
</Package>
正在构建针对x86平台的解决方案。我使用以下命令在C:\Program Files (x86)\MyApp\RFID
下的目标设备上注册了我的组件(按照此whitepaper):
icacls . /T /grant "ALL APPLICATION PACKAGES":RX
regsvr32 MyApp.RFID.Proxy.dll
我已在目标设备上安装了Visual Studio 2013 x86 Redistributable Package。我还在同一目录中放置了一个额外的依赖项.dll,就像我在开发过程中一直在做的那样。
我尝试过的其他一些事情:
C:\Program Files (x86)
作为清单中ActivatableClassAttribute的值。RfidDevice
类添加一个空的默认构造函数。