c# - ASP.NET 编译器找不到任何命名空间

标签 c# asp.net visual-studio-2008 namespaces

我有一个foo.cs文件

namespace LoL
{
    public class testing2
    {

    }
}

Default.aspx.cs 文件:

更新:我不知道它是否真的有帮助,但这是所有 Default.aspx.cs 文件:

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using LoL;

namespace WebApplication4
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }
    }
}

我得到:

Compiler Error Message: CS0246: The type or namespace name 'LoL' could not be found (are you missing a using directive or an assembly reference?)

对于我尝试使用的任何类。不仅仅是图书馆。我在 VS 上尝试了几种移动/复制文件的解决方案:Porject > 添加现有文件 > foo.cs 等

但他们中的任何一个都没有运气。

如何解决这个问题?我不知道如何解决这个问题。

注意:如果我尝试在 VS 中使用 F5 模式,它可以工作,但是将网站放在 C:\inetpub\wwwroot\ 上时会像在主机中一样出现此错误。

编辑: 通过 ASP.NET 页面上的错误消息,我可以看到 IIS 正在调用 C# 编译器 4.0,但我在我的 VS 08 上以 .NET Framework 3.5 为目标(最新版本可用对比 08)。这和我的问题有关系吗?

EDIT2: 我能够从命令行成功编译我的网站项目。在项目路径上使用 msbuild 程序。当 IIS 尝试编译它时,它就不起作用了。 IIS 不知道 foo.cs 文件。

EDIT3:现在我正在使用 aspnet_compiler(在 cmd.exe 中)程序:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_compiler -v webApplication4

路径:C:\inetpub\wwwroot\webApplication4

我遇到了同样的错误。所以,我查看了 Visual Studio 配置文件,它是 .csproj 文件,我在寻找编译器传递的包含文件(由 VS 生成)。

我在 ItemGroup 标签上找到了它们:

  <ItemGroup>
    <Compile Include="foo.cs" />
    <Compile Include="Default.aspx.cs">

如您所见,包含要编译的 foo.cs。所以,文件就在那里。为什么 aspnet 编译器找不到任何命名空间?

最佳答案

如果您创建了一个网站而不是一个 webApplication,您需要将您的 .cs 文件放在特殊的 ~/App_Code 文件夹中,并将它们部署到服务器上。请阅读 MSDN 上的网站和预编译 Web 应用程序之间的区别:http://msdn.microsoft.com/en-us/library/dd547590.aspx .

关于c# - ASP.NET 编译器找不到任何命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17496668/

相关文章:

c++ - 是否每个应用程序都使用依赖于 VC++9 运行时的东西来嵌入 list ?

visual-studio - 从 DataSet Visualizer 复制粘贴行数据和列标题?

c# - 通用接口(interface)上的扩展方法,其中 T 是 Enumerable<K>

c# - 使用C#执行Oracle存储过程出错

启用了 CORS 的 c# Web Api 并且请求的资源上存在可怕的 No 'Access-Control-Allow-Origin' header

c# - 如何动态更改 WPF 中 GridView 列的顺序?

c# - 在分离线程问题中初始化存储库

c# - FormCollection 缺少提交按钮值

asp.net - 如何将旧的.NET项目切换到Linux?

sql-server - VSTS Database Edition GDR R2 项目中的哪些文件应从源代码管理中排除?