Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Crystal报告代码契约冲突_C#_.net 4.0_Crystal Reports_Code Contracts - Fatal编程技术网

C# Crystal报告代码契约冲突

C# Crystal报告代码契约冲突,c#,.net-4.0,crystal-reports,code-contracts,C#,.net 4.0,Crystal Reports,Code Contracts,我们有一个使用C#on.NET4和代码契约构建的解决方案。我们希望利用Crystal Reports 13,但遇到了一个重大问题 当我们尝试使用crystal reports时,会出现以下异常: 未解析程序集引用:BusinessObjects.Licensing.KeycodeDecoder,版本=13.0.2000.0,区域性=neutral,PublicKeyToken=692fbea5521e1304 当代码契约运行时检查被禁用(未选中)时,不会发生此异常;但是代码契约抱怨必须启用重写器

我们有一个使用C#on.NET4和代码契约构建的解决方案。我们希望利用Crystal Reports 13,但遇到了一个重大问题

当我们尝试使用crystal reports时,会出现以下异常:

未解析程序集引用:BusinessObjects.Licensing.KeycodeDecoder,版本=13.0.2000.0,区域性=neutral,PublicKeyToken=692fbea5521e1304

当代码契约运行时检查被禁用(未选中)时,不会发生此异常;但是代码契约抱怨必须启用重写器。不幸的是,代码库中到处都是
Contract.Requires(bool)
调用,如果改为if-then-throws样式,那将是一场噩梦

还有其他人遇到过这种不兼容吗?如果是这样,他们是如何克服的


谢谢

您是否尝试向ContractProperties添加一个额外的库路径,该路径指向您计算机上包含缺少dll的目录?重写器有时会比C#编译器追逐更多的引用,从而导致此问题浮出水面。

您是否尝试向ContractProperties添加一个额外的库路径,该路径指向计算机上包含缺少dll的目录?重写器有时比C#编译器追逐更多的引用,导致这个问题浮出水面。

不幸的是,我不相信所讨论的dll实际上包含在它们的运行时或SDK中。他们似乎从其他DLL中引用了它,但实际上并没有部署它。我们也已经停止使用crystal reports,所以更新版本的库可能已经解决了这个问题。我明白了,这是一个令人沮丧的问题。最后,您还可以将选项-IgnoreMataErrors添加到重写器选项中。如果缺少的程序集确实是一个良性错误,这应该可以让您通过重写器。不幸的是,我不相信所讨论的dll实际上包含在它们的运行时或SDK中。他们似乎从其他DLL中引用了它,但实际上并没有部署它。我们也已经停止使用crystal reports,所以更新版本的库可能已经解决了这个问题。我明白了,这是一个令人沮丧的问题。最后,您还可以将选项-IgnoreMataErrors添加到重写器选项中。如果丢失的程序集确实是一个良性错误,这应该可以让您通过重写器。