我将我的项目从Win XP转移到另一台计算机Win 7.安装完成后,我意识到我的App_code文件夹中的某些内容,如mydata.web.utils命名空间,有一个名为WebConstants的类(公共类和公共职能)。
现在在global.asax这样的领域,它告诉我“WebConstants在这种情况下不存在”
即使我有:
<%@ Import Namespace="mydata.web.utils" %>
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计算机中没有错误?
答案 0 :(得分:6)
右键单击webcontants.cs文件,然后转到“属性”。检查以确保'Build Action'设置为'Compile'。它可以设置为“内容”,在这种情况下VS不会接收它。
答案 1 :(得分:3)
如果在其他项目中有此命名空间,请确保同时添加对Web项目的引用。
此外,请确保正在构建名称空间“mydata.web.utils”的项目正在构建中。
在构建失败后,您还可以在Visual Studio的“输出”窗口中更改详细信息的级别:(工具 - >选项 - &gt;项目和解决方案 - &gt;构建并运行,选择“正常” ,以便查看更多细节)。您可以在我的博客上详细了解此问题:Error “ILMerge.Merge: The target assembly ‘blabla.blabla’ lists itself as an external reference” building a setup project
答案 2 :(得分:1)
好好在下面的另一个答案中阅读你的意见让我明白了最新情况......
请看这个链接: namespace or class could not be found (ASP.NET WebSite "project")
您需要将当前项目(即asp.net 网站)转换为 Web应用程序。
答案 3 :(得分:1)
您是否尝试过构建项目?您是否在加载后验证项目中是否有任何缺少的DLL引用?