我有一个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)
{
}
}
}
我得到:
编译器错误消息:CS0246:找不到类型或命名空间名称“LoL”(您是否缺少 using 指令或程序集引用?)
对于我尝试使用的任何课程。不仅仅是图书馆。我在 VS 上尝试了几种移动/复制文件的解决方案:Porject > 添加现有文件 > foo.cs 等
但他们中的任何一个都没有运气。
如何解决这个问题?我不知道如何解决这个问题。
注意:如果我尝试在 VS 中使用 F5 模式,它可以工作,但是将网站置于C:\inetpub\wwwroot\
主机中会出现此错误。
编辑:通过 ASP.NET 页面上的错误消息,我可以看到 IIS 正在调用 C# 编译器 4.0,但我的 VS 08 上的目标是 .NET framework 3.5(VS 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编译器找不到任何命名空间?