我正在关注here中的以下示例,以便在Win32应用程序中使用WinRT API。
我添加了对System.Runtime
和System.Runtime.InteropServices.WindowsRunTime
的引用,但是当我添加对Windows.winmd
我收到以下错误:
错误1生成清单时出现问题。无法加载文件或程序集' C:\ Program Files(x86)\ Windows Kits \ 8.1 \ References \ CommonConfiguration \ Neutral \ Windows.winmd'或其中一个依赖项。尝试加载格式不正确的程序。
我尝试使用不同的.NET框架和Visual Studio版本进行各种配置。我该怎么办?
答案 0 :(得分:2)
似乎设置
<GenerateManifests>true</GenerateManifests>
项目文件中的(例如.csproj)与winmd引用不兼容。
启用ClickOnce安全设置时,会添加此设置(项目属性=&gt;安全性=&gt;启用ClickOnce安全设置复选框)。
到目前为止,我找不到解决具体问题的方法,但我找到了一个解决方法,适用于我的情况:我刚刚在我的解决方案中创建了一个单独的类库项目,主项目引用了该项目。在类库项目文件中,我添加了行
<TargetPlatformVersion>8.0</TargetPlatformVersion>
如参考文章中所述。
库项目编译,主项目也可以毫无问题地使用dll。
答案 1 :(得分:0)
我在这个stackoverflow解决方案之后解决了一个非常类似的问题,它基本上让你发布不包括winmd。