VS2010拒绝编译命名空间,表示它不存在

我将我的项目从Win XP转移到Win 7中的另一台计算机。安装完成后,我意识到我的App_code文件夹中的某些东西,如mydata.web.utils命名空间,有一个叫做WebConstants的类(公共类和公共函数) 。

现在在global.asax这样的领域,它告诉我“WebConstants在这种情况下不存在”

即使我有:

 

webconstants.cs有:

 namespace mydata.web.utils { public class WebConstants { public static String APPLICATION_VERSION = "version"; ........ } } 

webconstants.cs中没有语法错误或编译器错误

但在其他任何地方,都在说“什么是’网络’”?

如果我将命名空间从“web.utils”重命名为“web”,仍然是同样的问题。 如果我将“web.utils”重命名为“wez” – 那么编译器错误就会消失。

但是我不能这样做,因为那时我必须在整个项目中改变它,这是一项繁重的工作。

我还注意到“构建输出”中没有在项目中编译App_code。 也许是因为它是一个ASP.net文件夹,我不确定。 这是正常的吗?

相同的源代码,相同的visual studio,如何在win7中产生错误并且在winXP计算机中没有错误?

右键单击webcontants.cs文件,然后转到“属性”。 检查以确保“构建操作”设置为“编译”。 它可能被设置为’内容’,在这种情况下VS不会接收它。

如果在其他项目中具有此命名空间,请确保同时添加对Web项目的引用。

此外,请确保正在构建名称空间“mydata.web.utils”的项目。

在构建失败后,您还可以在Visual Studio的“输出”窗口中更改详细信息的级别:(工具 – >选项 – >项目和解决方案 – >构建和运行,选择“正常”,以便查看更多细节)。 您可以从我的博客上获得有关此内容的更多详细信息: 错误“ILMerge.Merge:目标程序集’blabla.blabla’将自身列为外部参考”构建安装项目

你有没有尝试建立这个项目? 您是否在加载后validation项目中是否有任何缺少的DLL引用?

好的,在下面的另一个答案中阅读你的意见让我明白了最新情况……

请看这个链接: 找不到命名空间或类(ASP.NET WebSite“项目”)

您需要将当前项目(即asp.net 网站)转换为Web应用程序