gpt4 book ai didi

c# - License.licx 文件和许可/未许可机器

转载 作者:太空狗 更新时间:2023-10-30 00:27:03 29 4
gpt4 key购买 nike

在 VS2010 解决方案中,我有一个 license.licx 文件,其中包含:

DataDynamics.ActiveReports.ActiveReport, ActiveReports6, Version=6.1.2814.0, Culture=neutral, PublicKeyToken=cc4967777c49a3ff
DataDynamics.ActiveReports.Web.WebViewer, ActiveReports.Web, Version=6.1.2814.0, Culture=neutral, PublicKeyToken=cc4967777c49a3ff
DataDynamics.ActiveReports.Export.Pdf.PdfExport, ActiveReports.PdfExport, Version=6.1.2814.0, Culture=neutral, PublicKeyToken=cc4967777c49a3ff
DataDynamics.ActiveReports.Design.Designer, ActiveReports.Design6, Version=6.1.2814.0, Culture=neutral, PublicKeyToken=cc4967777c49a3ff
DataDynamics.ActiveReports.Viewer.Viewer, ActiveReports.Viewer6, Version=6.1.2814.0, Culture=neutral, PublicKeyToken=cc4967777c49a3ff

如果我在具有 ActiveReport 许可证的机器上构建解决方案,那么一切都很好。如果我在没有 ActiveReport 许可证的机器上构建解决方案,我会得到:

Error 1 'Could not load file or assembly 'ActiveReports6, Version=6.1.2814.0, Culture=neutral, PublicKeyToken=cc4967777c49a3ff' or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515)' LC

在没有 ActiveReport 许可证的机器上,如果我从 license.licx 文件中删除上面的行,那么一切都会正常构建。我一直认为,如果找不到许可证,那么将使用未经许可的版本,但它不会终止构建。我如何让这个解决方案在任何机器上构建,无论它是否有许可证?

最佳答案

实际上这台机器似乎没有安装特定版本的 ActiveReports。

我们通过将外部程序集存储在相对于项目的路径(即 ..\Assemblies)中并修改所有项目以包含 HintPath 来解决此类问题,例如:

<Reference Include="ActiveReports3">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\Assemblies\ActiveReports3.dll</HintPath>
</Reference>

这样,您就不必担心每个开发人员都安装了完全相同的版本。您应该能够使用此配置进行调试,但不能为发布而构建。

更新

我忘了提及我们实现的另一种做法:除非组件绝对需要它(我们只有一个我能想到的),否则我们从不将版本存储在 license.licx 文件中。上面示例的 licenses.licx 条目是:

DataDynamics.ActiveReports.ActiveReport3, ActiveReports3

如果执行此操作,您必须始终关注 licenses.licx 文件,但它确实解决了各种版本控制问题。

关于c# - License.licx 文件和许可/未许可机器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8345014/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com