CS0246:找不到类型或命名空间名称“CrystalDecisions”

问题描述 投票:0回答:4

我尝试通过 IIS 管理器在本地另一台 PC 上打开已创建的 ASP.NET 项目。但我收到此错误:

CS0246:找不到类型或命名空间名称“CrystalDecisions”(您是否缺少 using 指令或程序集引用?)

我已尝试以下方法来解决此问题:

  1. 添加了命名空间:

    CrystalDecisions.CrystalReports.Engine;
    
    CrystalDecisions.Shared;
    
    CrystalDecisions.ReportSource;
    
  2. 目标框架设置为.Net Framework 4。

  3. 通过 NuGet 包管理器安装了 CrystalDecisions.CrystalReports.Engine。
c# asp.net crystal-reports
4个回答
2
投票

我刚刚在 VS 2019 中运行 Windows 窗体应用程序时遇到此错误,下面是我解决该问题所采取的步骤:

  • 我检查了引用节点(在项目资源管理器中),所有 4 个 CrystalDecision 包都在那里,但都有一个黄色警告图标,所以我将它们全部删除。
  • 然后我打开 Nuget 包管理器,从 CrystalDecisions.CrystalReports.Engine 开始搜索每个包。它们都被标记为“已安装”,所以我一个接一个地卸载并重新安装它们。然后我成功构建了该项目。 此过程从 Packages.config 文件中删除了软件包,并在安装后将它们添加回来。

我注意到,packages.config 文件中包的 .Net Framework 版本从 net45 更改为 net40。

很明显,我一直在引用错误的.Net版本,但我没有意识到,因为在我切换到 VS2019 之前该项目构建得很好。


2
投票

试试这个:

  1. 找到您的 C# 项目文件 ( YourProjectName.csproj )。

  2. 使用 Notepad++ 或任何其他文本编辑器打开它。

  3. Ctrl + F 并查找

    <Reference Include=

  4. 应该有一个 CrystalDecisions.CrystalReports.Engine

  5. 如果没有添加这个,请使用正确的版本:

    <Reference Include="CrystalDecisions.CrystalReports.Engine, Version=13.0.3500.0, Culture=neutral, PublicKeyToken=692fbea5521e1304, processorArchitecture=MSIL" />
    <Reference Include="CrystalDecisions.ReportSource, Version=13.0.3500.0, Culture=neutral, PublicKeyToken=692fbea5521e1304, processorArchitecture=MSIL" />
    <Reference Include="CrystalDecisions.Shared, Version=13.0.3500.0, Culture=neutral, PublicKeyToken=692fbea5521e1304, processorArchitecture=MSIL" />
    <Reference Include="CrystalDecisions.Windows.Forms, Version=13.0.3500.0, Culture=neutral, PublicKeyToken=692fbea5521e1304, processorArchitecture=MSIL" />
    <Reference Include="FlashControlV71, Version=1.0.3187.32366, Culture=neutral, PublicKeyToken=692fbea5521e1304" />
    

0
投票

我通过

File>Open>Web Site...
重新打开项目文件夹并保存另一个解决方案,并且错误消失了。


0
投票

我也遇到了同样的问题。所以我意识到我的项目目标框架已经更改为3.5,我将框架升级到4.5。它帮助解决了我的问题。

© www.soinside.com 2019 - 2024. All rights reserved.