代码之家  ›  专栏  ›  技术社区  ›  jpierson

在生成服务器上生成使用Crystal Reports的.NET程序集

  •  1
  • jpierson  · 技术社区  · 14 年前

    我正在尝试构建一个.NET程序集,该程序集在构建服务器上使用Crystal Reports,而不安装Visual Studio或Crystal Reports运行时。

    我们在代码中针对的Crystal Reports版本是随Visual Studio 2008一起提供的版本,我们正在使用MSBuild来构建此项目。

    我已经将项目中似乎所有引用的DLL复制到了生成服务器上名为“程序集”的文件夹中,并尝试在csproj.user文件中设置引用路径,还尝试将此相同的属性组复制到项目文件中,但仍然没有成功。我得到的错误如下所示。

    myfile.cs(5,7):错误CS0246:类型 或命名空间名称“crystaldecisions” 找不到(是否缺少 使用指令或程序集 参考文献?) [C:\mysolution\myproject…]

    有人对我如何或是否应该让这个工作有什么建议吗?

    1 回复  |  直到 12 年前
        1
  •  2
  •   jpierson    12 年前

    看起来我在项目文件中为我的引用对元素进行了试验之后,可能已经自己发现了这个问题。我的Crystal Reports程序集引用现在看起来像下面的示例。

    <Reference Include="CrystalDecisions.CrystalReports.Engine, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304">
        <HintPath>$(MSBuildProjectDirectory)\..\Libraries\CrystalReports\CrystalDecisions.CrystalReports.Engine.dll</HintPath>
    </Reference>
    <Reference Include="CrystalDecisions.ReportSource, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304">
        <HintPath>$(MSBuildProjectDirectory)\..\Libraries\CrystalReports\CrystalDecisions.ReportSource.dll</HintPath>
    </Reference>
    <Reference Include="CrystalDecisions.Shared, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304">
        <HintPath>$(MSBuildProjectDirectory)\..\Libraries\CrystalReports\CrystalDecisions.Shared.dll</HintPath>
    </Reference>
    

    更重要的是,它是有效的!