winforms 错误:项目档必须在指涉清单中包含.NET Framework组件'WindowsBase,PresentationCore,PresentationFramework'

7kjnsjlb  于 2022-11-17  发布在  .NET
关注(0)|答案(4)|浏览(279)

我正在使用C#在Windows窗体应用程序中使用WPF。
问题的跟进。Adding a collection of solid,dashed lines pen to a combo box
错误:
项目文件必须在引用列表中包含.NET Framework程序集“WindowsBase,PresentationCore,PresentationFramework.”
请建议

iaqfqrcu

iaqfqrcu1#

这是一个老问题,但为了保持这个资源的有效性:确实,您可以像Ross和Reed建议的那样添加这样的引用,但我不认为这是实际的解决方案,您只是在解决问题的结果,而不是原因。
正如@dumbledad所说,当我在项目中包含在.csproj文件中标记为“Page”的文件时,我得到了完全相同的错误消息,导致Visual Studio希望编译此资源。(在我的例子中,它是一个XAML文件,也可能是一个图像)VisualStudio要求额外的程序集。在这种情况下,不要只是添加它们,但请进入.csproj文件并进行以下调整:
搜索打开节点'〈Page'并验证它的每个示例实际上都是需要用相应操作处理的页面。在我的示例中,如您所见,一个资源被标记为Page,VS尝试对其进行编译:

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

只需删除这个节(或Page节点),然后将文件放回.csproj文件作为常规内容包含。您必须手动执行此操作,因为从VS中包含文件会重新生成相同的错误Page节点。因此,我将其放回项目文件,如下所示:

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

瞧,您的项目将再次生成,并且错误消息消失,而不必添加那些额外的程序集引用。

azpvetkf

azpvetkf2#

在Visual Studio中,转到Project菜单〉Add Reference.NET选项卡,在列表中选择WindowsBasePresentationCorePresentationFramework,然后按OK。然后重试。

gr8qqesn

gr8qqesn3#

如果要尝试使用WPF,则需要在项目引用中添加对列出的程序集的引用。
打开您的项目,然后选择“项目-〉添加引用..."。添加列出的程序集作为引用,以便使用WPF类型。

mhd8tkvw

mhd8tkvw4#

我刚刚面对这个问题,在我的情况下,这些解决方案似乎都没有为我工作。
在我的.csproj文件中,我手动修改了它,以确保没有不需要的项。在这种尝试中,我忽略了我使用的是包含WPF项的共享项目这一事实。由于我将共享项目调用到我的项目中,因此,我被期望托管共享项目文件中的所有内容,包括windowbasepresentationcorepresentationframework。在此之后,需要在<PropertyGroup>标签中添加以下内容:

<NeutralLanguage>en</NeutralLanguage>
<UseWPF>true</UseWPF>

在这之后,一切似乎都很好。
因此,如果像我的情况一样使用共享项目,则可能需要检查并确保在调用项目中也使用了所有正确的引用。
希望这能帮助到一些人。

相关问题