应用程序不包含定义

时间:2013-03-12 20:50:28

标签: c# visual-studio-2010

我有一个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());
}

任何帮助都将不胜感激。

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

3 个答案:

答案 0 :(得分:8)

您为具有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,但上面的模糊命名空间/类名称只是更加健壮。< / p>

其他替代方法包括重命名自定义Application类(如果它确实属于您自己的类),而不是为该文件的任何命名空间(或使用{{1}的任何文件)添加using } System.Windows.Forms class),为Application添加别名(这可以通过类似System.Windows.Forms.Application)等来完成。

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

我知道这是一个坏事,但这适用于我今天的情况。 @James G的上述回答使我意识到,我导入了一个包含“应用程序”定义的Web服务,这也导致了此错误。作为检查工作的一部分,请确保任何导入的服务均不包含“应用程序”。

如果有人要导入它,DynamicsSecurityAdminService就是对我进行的导入。

相关问题