无法部署Visual C#应用程序

时间:2012-06-09 19:02:37

标签: c# .net-3.5 .net-client-profile

我已经能够在我的开发机器上运行我的C#.net 3.5应用程序,但我似乎无法在其他任何地方运行它。客户端计算机安装了4.0 .net客户端配置文件,在查找客户端配置文件中遗漏的内容之后,我怀疑安装完整的4.0框架会产生影响。

我正在使用这些库中的类:

using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using System.Drawing;
using System.IO;
using System.Diagnostics;
using Microsoft.Win32;

我正在做的唯一不寻常的事情是定义一个CustomApplicationContext而不是您将用于Forms应用程序的普通App Context。我的应用程序主要作为系统托盘中的NotifyIcon运行,所以我只设置了一个主要界面是System Tray Icon的类。没什么太奇怪的。

出于测试目的,我的第一行代码显示了一个MessageBox,甚至不会运行。每当我在部署机器上启动它时,只会弹出一个框,说“App无法启动”并关闭。

有没有人知道为什么会这样做?我似乎无法让它运行一些代码。

3 个答案:

答案 0 :(得分:2)

您可能需要将.Net4.0添加到支持的运行时列表中。将以下行添加到app.config

<configuration>
   <startup useLegacyV2RuntimeActivationPolicy="true">
      <supportedRuntime version="v4.0"/>
   </startup>
</configuration>

答案 1 :(得分:1)

也许并非所有内容都能在新框架上正确运行,但您是否尝试过显式设置http://msdn.microsoft.com/en-us/library/ms171868.aspx

上描述的目标框架

复制:

  

.NET Framework 4与使用早期.NET Framework版本构建的应用程序高度兼容,除了为提高安全性,标准合规性,正确性,可靠性和性能而进行的一些更改。

     

.NET Framework 4不会自动使用其公共语言运行库版本来运行使用早期版本的.NET Framework构建的应用程序。要使用.NET Framework 4运行较旧的应用程序,必须使用Visual Studio中项目属性中指定的目标.NET Framework版本编译应用程序,或者可以使用应用程序配置文件中的Element指定支持的运行时。 / p>

答案 2 :(得分:0)

只安装了.NET Framework 4,不会遗憾地运行.NET 3.5应用程序。 3.5将运行2.0,3.0和3.5应用程序,但4是一次重大改造,因此如果用户的计算机上没有安装3.5,它将无法运行。