私は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 モードを使用しようとすると動作しますが、Web サイトをオンにC:\inetpub\wwwroot\
すると、ホストと同様にこのエラーが発生します。
編集: ASP.NET ページのエラー メッセージで、IIS が C# コンパイラ 4.0 を呼び出していることがわかりますが、VS 08 (VS 08 で利用可能な最後のバージョン) で .NET フレームワーク 3.5 をターゲットにしています。これは私の問題と何らかの関係がありますか?
EDIT2:コマンド ラインから Web サイト プロジェクトを正常にコンパイルできました。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コンパイラが名前空間を見つけられないのはなぜですか?