错误:项目文件必须在参考列表中包含.NET Framework程序集“WindowsBase,PresentationCore,PresentationFramework”

时间:2012-05-30 16:19:34

标签: wpf winforms

我在Windows窗体应用程序C#中使用wpf。 跟进问题。 Adding a collection of solid,dashed lines pen to a combo box

错误: 项目文件必须在参考列表中包含.NET Framework程序集“WindowsBase,PresentationCore,PresentationFramework”。

请建议

3 个答案:

答案 0 :(得分:16)

这是一个老问题,但是为了保持这个资源是有效的:你可以像Ross和Reed所说的那样添加像这样的引用,但我不相信这是实际的解决方案,你只是解决问题的影响,而不是原因。

正如@dumbledad所说,当我在项目中包含在.csproj文件中标记为“页面”的文件时,我收到完全相同的错误消息,导致Visual Studio想要编译此资源。但是,这是一个无法编译的资源(在我的情况下,它是一个XAML文件,也可能是一个图像)Visual Studio要求额外的程序集。在这种情况下,不要只是添加它们,而是进入.csproj文件并进行以下调整:

搜索开放节点'< Page'并验证它的每个实例实际上是需要使用相应操作处理的页面。在我的例子中,正如您所看到的,资源被标记为一个页面,VS试图编译:

<ItemGroup>
  <Page Include="sitecore\shell\ClientBin\EmptySplashScreen.xaml">
    <Generator>MSBuild:Compile</Generator>
  </Page>
</ItemGroup>

只需删除此部分(或页面节点),然后将文件作为常规内容包含放回.csproj文件中。您必须手动执行此操作,因为包含VS中的文件会重新生成相同的错误页面节点。所以我把它放回到项目文件中:

<Content Include="sitecore\shell\ClientBin\EmptySplashScreen.xaml" />

呃瞧,您的项目将再次构建,错误消息消失,而无需添加那些额外的程序集引用。

答案 1 :(得分:7)

在Visual Studio中,转到Project菜单&gt; Add Reference&gt; .NET标签,在列表中选择WindowsBasePresentationCorePresentationFramework,然后按OK。然后再试一次。

答案 2 :(得分:0)

如果您尝试使用WPF,则需要在项目引用中添加对列出的程序集的引用。

打开您的项目,然后选择“项目 - >添加参考...”。添加列出的程序集作为引用,以便使用WPF类型。