【问题标题】:CSharpAddImportCodeFixProvider encountered an error and has been disabledCSharpAddImportCodeFixProvider 遇到错误并已被禁用
【发布时间】:2016-04-27 20:05:25
【问题描述】:

我已为我的 PC 重新映像。我的计算机上安装了 Visual Studio 版本 14.0.25123.00 Update 2。当我尝试使用 VS intellisense 引用另一个项目时出现此错误。

CSharpAddImportCodeFixProvider 遇到错误并已被禁用

我有两个项目。其中之一使用命名空间ProjectName.Web。另一个项目使用ProjectName.Web.Controllers。当我引用ProjectName.Web.Controllers 时,提供程序崩溃了,我相信因为它是作为一个项目设置的。知道如何解决这个问题吗?

【问题讨论】:

  • 同样的问题...有任何修复/解决方法吗?
  • 更新您的 Visual Studio。 VS 2015 Update 3 现已推出
  • 自更新 3 以来出现此错误(之前没有错误)。也有新的更新3修复,没有变化。还在那里。
  • 显然这不是更新特定的错误,并且在发布日志中没有提到它已得到解决。尝试再次修复或卸载/安装,看看是否可以修复它

标签: c# visual-studio roslyn-code-analysis visual-studio-2017


【解决方案1】:

我在 VS-2015 更新 3 上遇到了同样的问题。
我做的是:

1) 关闭视觉工作室

2) 以管理员身份重启

【讨论】:

    【解决方案2】:

    在 DataLayer 中的一个 Repository 类中键入 using (SqlConnection...){} 后自动选择 Add using System.Data.SqlClient 时发生在我身上。

    没有任何帮助(除了创建新项目),但我发现问题在于加载 System.Data.SqlClient.dll 文件,尽管它存在于适当的文件夹中。

    通过反复试验发现,在从 DataLayer 中删除 Dependencies->Assemblies->System.Data.SqlClient 后(右键单击 -> 删除,或者选中时直接按 Delete 键),我可以添加 System.Data.SqlClient 而不会出现任何错误。

    没有尝试其他出现CSharpAddImportCodeFixProvider encountered an error and has been disabled 消息的情况,但解决方案可能类似。

    在我的情况下,问题出现可能是由于.net核心版本冲突或类似的原因,因为该项目位于外部驱动器上并在另一台计算机上创建。

    编辑:另外,一些错误可能是由解决方案文件夹中的 .vs 文件夹(默认隐藏)引起的,尤其是在项目在不同计算机之间移动时。我从经验中知道,尽管存在 using namespace_name 语句,但 IntelliSense 似乎已损坏,并且来自其他命名空间的类将不可用。解决方案是删除 .vs 文件夹或避免将其与项目一起复制,如下所示:https://weblog.west-wind.com/posts/2018/Aug/07/Fixing-Visual-Studio-Intellisense-Errors

    【讨论】:

      【解决方案3】:

      出现此错误的原因可能有多种。所以这个答案可能并不适用于所有情况,尽管它似乎只在引用另一个项目时发生。

      并非所有语句都发生此错误。就我而言,我有以下代码:

      private System.Threading.Timer Timer;
      
      public void Start()
      {
          Timer.Change(0, 60000);
      }
      

      一旦智能感知为Timer.Change( 打开,就会发生错误。请注意,我当时没有参数。如果存在有效参数,则不会出错。

      我可以通过更新框架的版本来解决这个问题。我发现这两个项目分别针对不同的框架。 4.5.2 和 4.6。

      只要框架版本不同,就会发生错误。只要两者相等(4.5.2 或 4.6),错误就不再显示。

      我已使用 VisualStudioVersion = 14.0.25420.1(Visual Studio 社区 2015)对此进行了测试。

      -- 更新--

      我已将此作为 bug 报告给 Microsoft。包括重现步骤。

      【讨论】:

        【解决方案4】:

        我最终遇到了同样的错误。 我所做的是手动查找 System.Data.SqlClient 的 nuget 数据包,安装并在我正在处理的类中调用它,例如:

        using System.Data.SqlClient;
        

        不知道这是否是某种错误,因为它发生在我使用 Visual Studio 2019 社区创建的新空白项目中

        希望对某人有所帮助

        【讨论】:

        • 这为我在 .Net 标准库构建中修复了它
        【解决方案5】:

        通过从 nuget 包管理器安装 sqlClient 包解决了同样的问题 右键单击项目选择管理 nuget 包。然后转到浏览选项卡并搜索 System.Data.SqlClient 并安装它。就这么简单:)

        【讨论】:

          【解决方案6】:

          从您获得的标签“CSharpAddImportCodeFixProvider”来看,我猜您的问题是由于 Visual Studio 试图识别和/或更正 C# 源代码文件顶部缺少的“使用”语句,其中你引用了一个需要它的类。通常处理此类问题的 Visual Studio 组件是 Intellisense,或第三方语法高亮/纠正插件,如 JetBrains 的 ReSharper。

          再想一想,我不太确定这是 Intellisense 的错,而不是插件 ReSharper 的错。这有待确定。

          我确实向 Microsoft 提交了类似的错误报告。我的错误似乎是由于 Intellisense 不知道如何处理我自己的代码中的逻辑错误(请参阅https://connect.microsoft.com/VisualStudio/feedback/details/3133049)。

          在我的例子中,我无意中将一个方法的代码放在了它的类定义之外,尽管在它类似命名的命名空间内。 Visual Studio 2015 更新 3 抱怨,

          “GenerateVariableCodeFixProvider”遇到错误并已 已禁用。

          解决方法是将我的方法移回其对应的类定义中,但它肯定会暴露 Visual Studio 错误。

          具体来说,Visual Studio Intellisense 看过这行代码,

              Response.Write("I did something"); 
          

          放置在在类定义之外(即,在命名空间内,但无意中不在其类内)声明的方法中。然后,“'FeatureLabel' 遇到错误并已被禁用”错误显示在我的编辑器窗口顶部的黄色栏中,旁边显示“启用”按钮和“启用并忽略未来错误”按钮。

          我相信 Intellisense(或 ReSharper?)尝试自动处理这种情况并尝试为关键字“响应”生成一个变量,但尝试这样做时失败了——这反过来又导致了错误显示。

          【讨论】:

            【解决方案7】:

            有人从这里尝试这个解决方案吗?

            https://developercommunity.visualstudio.com/content/problem/623872/add-import-not-working.html

            最后的回复解决了我的问题..

            Tools > Options > Text Editor > C# > Advanced

            关闭Suggest usings for types in NuGet packages

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2015-04-14
              • 1970-01-01
              • 2018-07-01
              • 2018-10-03
              • 1970-01-01
              • 2018-08-02
              相关资源
              最近更新 更多