应用程序不包含定义
我有一个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());
}
任何帮助,将不胜感激。
还有一点,测试控制台应用程序工作正常,但我希望这个应用程序是表单应用程序。
您为名称空间添加了新的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.Forms
Application
类),为添加别名(这是通过类似using FormApplication = System.Windows.Forms.Application;
)等等
啊,这个对我来说最合适。谢谢! – user1158745 2013-03-12 20:59:03
当使用实体模型框架连接到碰巧有一个名为“Application”的表的数据库时,我遇到了这个问题。一旦为数据库生成类,我立即有两个“应用程序”类导致有问题的错误。在我的Program.cs文件中的main()方法,下面的代码改变固定的问题:
System.Windows.Forms.Application.EnableVisualStyles();
System.Windows.Forms.Application.SetCompatibleTextRenderingDefault(false);
System.Windows.Forms.Application.Run(new MyForm());
好了,问题不在这里,问题是要导入的其他文件中。尝试添加/删除部分添加的代码,直到您了解导致错误的哪些部分以及哪些部分正在工作。 – 2013-03-12 20:52:47
什么是“额外的CS文件?” – zimdanen 2013-03-12 20:52:54
听起来像你缺少一些组装在那里。你可以发布文件顶部的“使用...”部分吗? – LightStriker 2013-03-12 20:53:16