WPF,命名空间“Microsoft”中不存在类型或命名空间名称“Windows”(是不是缺少程序集引用?)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF,命名空间“Microsoft”中不存在类型或命名空间名称“Windows”(是不是缺少程序集引用?)相关的知识,希望对你有一定的参考价值。

编译的时候时常会出现这个错误,打开相应的位置,注释掉这条using Microsoft.Windows.Themes;语句后就不会有任何错误,可以正常运行,但是调试几次后又会出现相同问题,已经手动加//加了好几次了,貌似这个using会自动生成。。。
请问这是什么情况?怎么解决呢?

默认是引用这些命名空间,没有Thems那一项

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;追问

是在项目文件夹里的obj文件夹里的一个自动生成的文件,总是会自动加上那个,注释掉过一会又会自动生成。。。

参考技术A 先添加引用PresentationFramework.Aero.dll 试试, 不行就按照二楼说的找你的对应的dll。 参考技术B 你引用了theme。在xaml文件里找到 xmlns:theme="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero"这个代码,看看你的assembly=后面是哪个程序集,就在引用里添加这个程序集的dll文件。例如我给出的,就要在引用里添加PresentationFramework.Aero.dll

命名空间“Microsoft”中不存在类型或命名空间名称“Reporting”

【中文标题】命名空间“Microsoft”中不存在类型或命名空间名称“Reporting”【英文标题】:The type or namespace name 'Reporting' does not exist in the namespace 'Microsoft' 【发布时间】:2015-01-05 00:44:39 【问题描述】:

我只是收到以下错误:

(您是否缺少程序集引用?)

将此添加到我的代码后:

protected global::Microsoft.Reporting.WebForms.ReportViewer ReportViewer1;

我看到一些解决方案说我必须添加一些程序集。但他们都没有工作。 这是一个例子:

<add assembly="Microsoft.ReportViewer.Common, Version=9.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>

谁能帮我解决这个问题?

【问题讨论】:

【参考方案1】:

就我而言,我需要在麻烦的机器上实际安装 Microsoft Report Viewer。

Report Viewer 2010(版本=10) Report Viewer 2012(版本=11) Report Viewer 2015

当然还有其他的,可以从dll上的Version=中找出需要哪个。就我而言,我需要版本 11(2012 版)。

【讨论】:

【参考方案2】:

我通过右键单击项目中的 References 文件夹然后选择 Add Reference 来完成此操作。然后将 Assemblies > Extensions > Microsoft.ReportViewer 添加到引用中。

【讨论】:

【参考方案3】:

所有这些安装都对我不起作用。在 Visual Studio 2015 中对我有用的是从 NuGet(菜单项目 > 管理 NuGet 包)安装以下两个包(我只需要这两个包):

Microsoft.ReportViewer.Common.VS2010 Microsoft.ReportViewer.WinForms.VS2010

引用已自动添加到当前项目。

【讨论】:

当我在网上遇到 VSTS 的问题时,这为我整理好了 对我来说同样的问题。将我的报告项目添加到我的 VS2017 解决方案后,我删除了 VS2015,但没有意识到这会破坏我的代码。通过 nuget 添加 VS2015 版本的 ReportViewer dll 解决了这个问题。【参考方案4】:

从 Nuget 包管理器安装 ReportViewer

【讨论】:

【参考方案5】:

只需安装SSDT。然后您需要删除损坏的引用并从“程序集”>“扩展”中重新添加它。

【讨论】:

【参考方案6】:

导入自: C:\Program Files (x86)\Microsoft Visual Studio 11.0\ReportViewer\Microsoft.ReportViewer.WebForms.dll

【讨论】:

您可以通过editing it 改进此答案以解释其工作原理。

以上是关于WPF,命名空间“Microsoft”中不存在类型或命名空间名称“Windows”(是不是缺少程序集引用?)的主要内容,如果未能解决你的问题,请参考以下文章

命名空间“Microsoft”中不存在类型或命名空间名称“AspNetCore”(您是不是缺少程序集引用?)

WPF 命名空间“System.ComponentModel.Composition”中不存在类型或命名空间名称“CompositionInitializer”

命名空间“Microsoft.AspNet”中不存在类型或命名空间名称“FriendlyUrls”

命名空间“Microsoft.Azure.WebJobs”中不存在类型或命名空间名称“TableAttribute”

Azure 构建 - 命名空间“Microsoft”中不存在类型或命名空间名称“OpenApi”

错误 CS0234:命名空间“Microsoft”中不存在类型或命名空间名称“AspNetCore”(您是不是缺少程序集引用?)