我们使用与打印机设备接口的第 3 方混合模式程序集。
在我们的一个应用程序中,程序集正常运行。
在另一个应用程序中,它正在生成以下异常:
Mixed mode assembly is built against version 'v2.0.50727' of the runtime and cannot be loaded in the 4.0 runtime without additional configuration information.
经过一番研究,我发现我可以在 app.config 文件中添加以下内容来解决这个问题:
<startup useLegacyV2RuntimeActivationPolicy="true">
(运行的应用程序在其 app.config 中已经有此设置)
尽管这确实解决了“混合模式组装”问题,但现在我看到了一个有些不同的问题:
External component has thrown an exception
奇怪的是,我有一个应用程序可以正常工作,而另一个应用程序不能正常工作。他们都通过相同的代码(这是我们的另一个程序集)调用第三方程序集。
我尝试创建一个非常简单的测试应用程序,它使用相同的代码路径调用第三方程序集,但它也因“外部组件引发异常”错误而失败。
我比较了所有应用程序的 app.config 文件,它们基本相同,并且我仔细检查了每个应用程序的所有构建设置是否相同。这两个项目都针对 .NET 4.0 和 X86。
这两个应用程序显然有些不同,但我无法确定它是什么。
开发环境为 Visual Studio 2010。
有人对我可以调查的其他领域有什么建议吗?