无法加载Windows.winmd

时间:2014-11-29 14:02:29

标签: c# .net windows-runtime

我正在关注here中的以下示例,以便在Win32应用程序中使用WinRT API。

我添加了对System.RuntimeSystem.Runtime.InteropServices.WindowsRunTime的引用,但是当我添加对Windows.winmd

的引用时

我收到以下错误:

错误1生成清单时出现问题。无法加载文件或程序集' C:\ Program Files(x86)\ Windows Kits \ 8.1 \ References \ CommonConfiguration \ Neutral \ Windows.winmd'或其中一个依赖项。尝试加载格式不正确的程序。

我尝试使用不同的.NET框架和Visual Studio版本进行各种配置。我该怎么办?

2 个答案:

答案 0 :(得分:2)

似乎设置

<GenerateManifests>true</GenerateManifests>
项目文件中的

(例如.csproj)与winmd引用不兼容。

启用ClickOnce安全设置时,会添加此设置(项目属性=&gt;安全性=&gt;启用ClickOnce安全设置复选框)。

到目前为止,我找不到解决具体问题的方法,但我找到了一个解决方法,适用于我的情况:我刚刚在我的解决方案中创建了一个单独的类库项目,主项目引用了该项目。在类库项目文件中,我添加了行

<TargetPlatformVersion>8.0</TargetPlatformVersion>

如参考文章中所述。

库项目编译,主项目也可以毫无问题地使用dll。

答案 1 :(得分:0)

我在这个stackoverflow解决方案之后解决了一个非常类似的问题,它基本上让你发布不包括winmd。