2

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

我们在代码中定位的 Crystal Reports 版本是随 Visual Studio 2008 提供的版本,我们正在使用 MSBuild 来构建这个项目。

我已将项目中似乎所有引用的 dll 复制到构建服务器上名为 Assemblies 的文件夹中,并尝试在我的 csproj.user 文件中设置引用路径,并将相同的 PropertyGroup 复制到我的项目中文件,但仍然没有运气。我得到的错误看起来像下面的例子。

MyFile.cs(5,7):错误 CS0246:找不到类型或命名空间名称“CrystalDecisions”(您是否缺少 using 指令或程序集引用?) [c:\MySolution\MyProject...]

有人对我如何或是否应该能够使其工作有任何建议吗?

4

1 回答 1

3

看起来我自己在尝试了项目文件中引用的元素后自己想出了这个。我的 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>

更重要的是它有效!

于 2010-09-03T20:35:38.200 回答