0

我使用 C# 2010 创建了一个 WinForms 应用程序。它包含使用 Crystal Reports for C# 2010 创建的报表。目标框架是 .Net Framework 4,目标平台是 x86。

当我在客户的计算机上运行应用程序时,它会显示此错误:

http://img824.imageshack.us/img824/6223/errorro.png

在我的电脑上它工作得很好。他的操作系统是 Windows Vista x64。我的操作系统是 Windows 8 x64。我尝试安装 x86 和 x64 运行时,但没有一个工作。我已经安装了 x86 框架并尝试清除临时文件夹,安装所有更新,安装可分发的 .Net Framework 4 以及我在互联网上找到的几乎所有建议,但此错误一直出现。

该程序还有一个配置文件,内容如下,没有它,报告在任何计算机上都不起作用(我认为这是一个已知的错误):

<?xml version="1.0"?>
<configuration>
    <configSections>
    </configSections>
    <startup useLegacyV2RuntimeActivationPolicy="true">
        <supportedRuntime version="v4.0"/>
    </startup>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup>
</configuration>

它可以在另一台运行 Windows 7 x64 和 x86 CR Runtime 的计算机上运行,​​它也可以在我的计算机上运行,​​但我无法让它在他的计算机和另一台运行 Windows 7 x64 的计算机上运行。我一直试图让它工作好几天,但无济于事。该程序运行良好,除了包含 Crystal Report 的表单。任何帮助是极大的赞赏。

4

3 回答 3

1

该图像上的错误消息是关于“System.Web”丢失。因此,如果您正在运行 WinForms 应用程序,那么我怀疑您使用的是“.Net Framework 4 Client Profile”,而不是完整的“.Net Framework 4”。

在您的项目设置中,将目标框架更改为“.Net Framework 4”而不是“.Net Framework 4 Client Profile”。这至少可能会修复无法加载程序集 System.Web 错误。

于 2012-05-15T23:01:36.497 回答
1

我找到了解决方案。尽管客户端安装了 .Net Framework 4 版本 [不是客户端配置文件],但它需要此处找到的扩展版本:

http://www.microsoft.com/en-us/download/details.aspx?id=17851

希望我浪费的所有时间都能对遇到同样问题的人有用。

于 2012-05-16T13:58:44.333 回答
0

如果缺少 .net 程序集,您可以使用 fusion log msdn检查缺少的库,如果 .net 部分正常,请使用 dependency walker link检查。

如果所有依赖项都很好 - 检查 Windows 事件日志是否有错误,可能会有一些关于安全部分的提示。

它可能不完全是这样,但我用这个链接解决了我的问题。

于 2012-05-12T15:47:46.930 回答