【问题标题】:CS0246: The type or namespace name 'CrystalDecisions' could not be foundCS0246: 找不到类型或命名空间名称“CrystalDecisions”
【发布时间】:2016-08-28 03:16:38
【问题描述】:

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

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

我尝试了以下方法来解决这个问题:

  1. 添加命名空间:

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

  3. 通过 NuGet 包管理器安装了 CrystalDecisions.CrystalReports.Engine。

【问题讨论】:

  • 引用的程序集是否在您的 ASP.NET Web 应用程序的 bin 文件夹中?
  • bin文件夹中是CrystalDecisions.CrystalReports.Engine.dll
  • 您是否通过在项目资源管理器中右键单击References 并添加所需的引用来添加对您的引用的引用?
  • 是的,我已经添加了参考资料。

标签: c# asp.net crystal-reports


【解决方案1】:

试试这个:

  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" />
    

【讨论】:

    【解决方案2】:

    我刚刚在 VS 2019 中运行 Windows 窗体应用程序时遇到了这个错误,以下是我为解决它所采取的步骤:

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

    我注意到只是 packages.config 文件中的包的 .Net 框架版本从 net45 更改为 net40。

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

    【讨论】:

      【解决方案3】:

      我通过File&gt;Open&gt;Web Site...重新打开项目文件夹并保存另一个解决方案,错误消失了。

      【讨论】:

        猜你喜欢
        • 2017-11-25
        • 1970-01-01
        • 1970-01-01
        • 2019-07-14
        • 2019-09-14
        • 2013-10-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多