[英]Application does not contain a definition
我有一个 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
类(如果它确实是您自己的),而不是为该文件(或任何使用System.Windows.Forms
Application
类的文件)所在的任何命名空间添加using
为System.Windows.Forms
添加别名System.Windows.Forms.Application
(这是通过using FormApplication = System.Windows.Forms.Application;
类的东西using FormApplication = System.Windows.Forms.Application;
完成的)等。
我在使用实体模型框架连接到恰好有一个名为“Application”的表的数据库时遇到了这个问题。 一旦为数据库生成了类,我立即有两个“应用程序”类导致了有问题的错误。 在我的 Program.cs 文件的 Main() 方法中,以下代码更改修复了该问题:
System.Windows.Forms.Application.EnableVisualStyles();
System.Windows.Forms.Application.SetCompatibleTextRenderingDefault(false);
System.Windows.Forms.Application.Run(new MyForm());
我知道这是一个死循环,但它适用于我今天的情况。 @James G 上面的回答让我意识到我导入了一个包含“应用程序”定义的 Web 服务,这也导致了这个错误。 作为检查事项的一部分,请确保任何导入的服务不会附带包含“应用程序”。
如果有人在导入它,DynamicsSecurityAdminService 就是对我做的那个。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.