我已经在ASP.NET中创建了一个网站,并创建了一个类并将其放在App_Code文件夹中。但是,我无法从其他页面访问它。是否需要进行配置以允许此操作?我已经使它在以前的项目中起作用了,但是在某种程度上却没有使它起作用。
namespace CLIck10.App_Code
{
public static class Glob
{
...
}
}
我已经在ASP.NET中创建了一个网站,并创建了一个类并将其放在App_Code文件夹中。但是,我无法从其他页面访问它。是否需要进行配置以允许此操作?我已经使它在以前的项目中起作用了,但是在某种程度上却没有使它起作用。
namespace CLIck10.App_Code
{
public static class Glob
{
...
}
}
Answers:
右键单击.cs
文件App_Code
夹中的文件,然后检查其属性。
确保将“生成操作”设置为“编译”。
将其放在要访问该类的其他文件的顶部:
using CLIck10.App_Code;
或者从其他文件访问类,如下所示:
CLIck10.App_Code.Glob
不知道这是否是您的问题,但是如果您是C#的新手,那么这很容易被绊倒。
更新:我最近发现,如果将App_Code文件夹添加到项目中,则必须关闭/重新打开Visual Studio才能正确识别此“特殊”文件夹。
我还没有弄清楚为什么会发生这种情况,但是我的App_Code
文件夹中有一些类,它们相互调用方法,并且在构建.NET 4.5.2项目时可以很好地做到这一点,但是后来我不得不将其还原为4.0,因为目标服务器未升级。从那时起,我发现了这个问题(修复了langversion
我的web.config中的值从6为5 ...另一个故事之后)...。
我的一种方法一直出现类似以下错误:
The type X.Y conflicts with the imported type X.Y in MyProject.DLL
如此处接受的答案所建议,我所有的类的属性都已设置为“编译”,并且每个类都有一个相同的公共命名空间,并且每个类都using MyNamespace;
位于每个类的顶部。
我发现,如果我只是将必须互相调用方法的有问题的类移到了另一个名为“ App_Code”以外的名称的标准文件夹中,则它们不再遇到此冲突问题。
注意:如果创建一个名为“ AppCode”的标准文件夹,将您的类移入其中,删除“ App_Code”文件夹,然后将“ AppCode”重命名为“ App_Code”,则问题将再次出现。使用“新建文件夹”或“添加ASP .NET文件夹”选项创建“ App_Code”都无关紧要-似乎要键入名称。
也许这只是一个.NET 4.0(可能更早)的问题...在还原之前,我在4.5.2中就很好了!