所以我写了一些自定义类并将它们全部放在一个命名空间中,称之为“Sphere”。
在我的 aspx.cs 代码隐藏文件中,我有“使用 Sphere;” 书面。我知道这行得通,因为在我将此项目复制到新文件夹之前,它一直有效。此外,即使我单击“在 Web 浏览器中查看”,一切正常。
简单地说,Visual Studio 08 无法识别命名空间,因此我无法在没有错误的情况下构建,因此无法调试。谢谢您的帮助!
编辑:我的命名空间在 .cs 文件的 App_Code 文件夹中
所以我写了一些自定义类并将它们全部放在一个命名空间中,称之为“Sphere”。
在我的 aspx.cs 代码隐藏文件中,我有“使用 Sphere;” 书面。我知道这行得通,因为在我将此项目复制到新文件夹之前,它一直有效。此外,即使我单击“在 Web 浏览器中查看”,一切正常。
简单地说,Visual Studio 08 无法识别命名空间,因此我无法在没有错误的情况下构建,因此无法调试。谢谢您的帮助!
编辑:我的命名空间在 .cs 文件的 App_Code 文件夹中
您的自定义类是否在单独的项目中?如果是这样,您可能需要添加对该项目的引用。如果您已将项目复制到新文件夹,则 VS2008 中 Sphere DLL/项目的路径可能会损坏。
我实际上只是想通了:
我的 .cs 文件设置为“构建操作:内容”而不是“编译”。我右键单击 + 属性我的所有文件并更改了构建操作,现在一切正常!
听起来当您移动文件时引用已损坏。如果球体类位于单独的 dll 中,请尝试删除并重新添加引用。如果它只是在 .de 文件中,请确保项目中的文件仍在相对路径中。
检查您的参考资料。移动应用程序的文件夹后,VS 可能不再找到它们。
听起来像缺少参考。
在您的新项目中,您是否引用了定义实际 Sphere 命名空间的项目?
可能你得到了这个错误:
找不到类型或命名空间名称“CustomClass”(您是否缺少 using 指令或程序集引用?)
该类型不在程序集中的原因是App_Code文件夹是Web Site Projects的特定文件夹。这些文件在部署到服务器时在运行时编译,而不是在您构建项目时编译。在Web 应用程序项目中,每个文件都有 Build Action 属性。默认情况下,类文件的值为 Compile。但是如果类是在 App_Code 文件中创建的,它会获得值 Content。并且在作为应用程序运行时不会被编译。
最后 App_Code 文件夹不打算在 Web 应用程序中使用。或者如您所见,您可以手动将 Build Action 更改为 Compile。
我通过搜索这些链接找到了答案: