2013-03-12 99 views
4

我有一个C#表单应用程序。我将一个额外的CS文件导入程序,现在不再编译。每次我尝试编译时,我会收到以下消息:应用程序不包含定义

Application does not contain a definition for 'EnableVisualStyles' 
Application does not contain a definition for 'SetCompatibleTextrenderingDefault' 
Application does not contain a definition for 'Run' 

当我点击错误时,它会将我带到Programs.cs。它只是包含以下信息:

/// <summary> 
/// The main entry point for the application. 
/// </summary> 
[STAThread] 
static void Main() 
{ 
    Application.EnableVisualStyles(); 
    Application.SetCompatibleTextRenderingDefault(false); 
    Application.Run(new Form1()); 
} 

任何帮助,将不胜感激。

还有一点,测试控制台应用程序工作正常,但我希望这个应用程序是表单应用程序。

+0

好了,问题不在这里,问题是要导入的其他文件中。尝试添加/删除部分添加的代码,直到您了解导致错误的哪些部分以及哪些部分正在工作。 – 2013-03-12 20:52:47

+0

什么是“额外的CS文件?” – zimdanen 2013-03-12 20:52:54

+0

听起来像你缺少一些组装在那里。你可以发布文件顶部的“使用...”部分吗? – LightStriker 2013-03-12 20:53:16

回答

7

您为名称空间添加了新的using语句,该语句的另一个定义为Application(可能是您自己的),并且这是优先的。您可以使用完全合格的名称,以确保您的目标权Application类:

global::System.Windows.Forms.Application.EnableVisualStyles(); 
global::System.Windows.Forms.Application.SetCompatibleTextRenderingDefault(false); 
global::System.Windows.Forms.Application.Run(new Form1()); 

(可以省略global::只要你不也有一类名为System但上面是只是一点点暧昧的命名空间/类名的事实,更稳健。

其他替代方案包括重新命名定制Application类,如果它确实是你自己的,不加它是在这个文件的任何命名空间的using(或任何该文件使用System.Windows.FormsApplication类),为添加别名(这是通过类似using FormApplication = System.Windows.Forms.Application;)等等

+0

啊,这个对我来说最合适。谢谢! – user1158745 2013-03-12 20:59:03

0

当使用实体模型框架连接到碰巧有一个名为“Application”的表的数据库时,我遇到了这个问题。一旦为数据库生成类,我立即有两个“应用程序”类导致有问题的错误。在我的Program.cs文件中的main()方法,下面的代码改变固定的问题:

System.Windows.Forms.Application.EnableVisualStyles();   
System.Windows.Forms.Application.SetCompatibleTextRenderingDefault(false); 
System.Windows.Forms.Application.Run(new MyForm());