2016-08-02 59 views
0

我正在ASP.NET网站上工作,并且作为网站的一部分,我创建了一个名为Global.cs的文件,该文件用于保存所有我的帮助程序类。然而,不幸的是,我经常收到错误,说在编译这个文件时出现了问题。文件内的所有类都包含在单个命名空间 - “全局”中。将.cs文件添加到ASP网站项目

当使用它“内联”,例如。 Global.SomeStaticClass.Method():

描述:编译服务此请求所需的资源时发生错误。请查看以下具体的错误细节并适当修改您的源代码。

编译器错误消息:CS0103: '全局' 的名称在当前上下文中不存在

当使用 “使用Global;”指令:

描述:编译服务此请求所需资源时发生错误。请查看以下具体的错误细节并适当修改您的源代码。

编译器错误信息:CS0246:类型或命名空间名称“全球”找不到(?是否缺少using指令或程序集引用)

正如在许多岗位的建议,我想包括我的项目的App_Code文件夹中的类和名称空间“Global”由Visual Studio检测到(添加“using Global;”指令或使用内联的“Global.Class.Method()”时无错误。 ,当我尝试访问浏览器页面时,它仍然失败。

+0

就在你的文件生成操作正确设置为“编译”? –

+0

我选中了此文件并没有Build Action属性。 – zryw141

+0

应该有。也许你应该尝试添加一个新的源代码文件到你的项目中,并将内容复制到新文件中。 一般性建议:如果由于任何特定原因而不需要它,通常认为将多个类放在具有单个名称空间的单个文件中是一种不好的做法。你为什么这样做? –

回答

0

我找不到解决我的问题的简单方法,并决定最简单和最有效的方法我的解决方案将是将我的网站项目转换为Web应用程序项目。您可以阅读如何将您的网站转换为Web应用程序:https://blogs.msdn.microsoft.com/webdev/2009/10/29/converting-a-web-site-project-to-a-web-application-project/

将项目转换为Web应用程序后,我可以在将它们编译到DLL库后附加我的类文件,因为它不接受任何未编译通过抛出异常,在App_Code文件夹内的文件。

由于预编译了应用程序,因此不允许使用目录'/ website/App_Code /'。

如果遇到同样的问题,你可以学习如何使用开发人员命令提示符这里编译C#文件:https://msdn.microsoft.com/en-us/library/78f4aasd.aspx