0

ASP.NET Web サイトをデバッグすると、次のエラーが表示されます。

ファイル"/BookIt.Web/App_Code/VBCode/vCalendar.vb""/BookIt.Web/App_Code/CSCode/WebGrid/user/BenutzerCollection.cs"使用する言語が異なります。一緒にコンパイルする必要があるため、これは許可されていません。

それを修正する方法がわかりません。

誰かが私を助けることができますか?

スタックトレース:

[HttpException (0x80004005): Die Dateien "/BookIt.Web/App_Code/VBCode/QueryStringModule.vb" und "/BookIt.Web/App_Code/CSCode/Webgrid/Dienstleistung/Servicegruppe.cs" verwenden unterschiedliche Sprachen. Dies ist nicht zulässig, weil sie gemeinsam kompiliert werden müssen.]
   System.Web.Compilation.BuildProvidersCompiler.ProcessBuildProviders() +452
   System.Web.Compilation.BuildProvidersCompiler.PerformBuild() +42
   System.Web.Compilation.CodeDirectoryCompiler.GetCodeDirectoryAssembly(VirtualPath virtualDir, CodeDirectoryType dirType, String assemblyName, StringSet excludedSubdirectories, Boolean isDirectoryAllowed) +640
   System.Web.Compilation.BuildManager.CompileCodeDirectory(VirtualPath virtualDir, CodeDirectoryType dirType, String assemblyName, StringSet excludedSubdirectories) +125
   System.Web.Compilation.BuildManager.CompileCodeDirectories() +265
   System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled() +320

[HttpException (0x80004005): Die Dateien "/BookIt.Web/App_Code/VBCode/QueryStringModule.vb" und "/BookIt.Web/App_Code/CSCode/Webgrid/Dienstleistung/Servicegruppe.cs" verwenden unterschiedliche Sprachen. Dies ist nicht zulässig, weil sie gemeinsam kompiliert werden müssen.]
   System.Web.Compilation.BuildManager.ReportTopLevelCompilationException() +58
   System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled() +512
   System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters) +729

[HttpException (0x80004005): Die Dateien "/BookIt.Web/App_Code/VBCode/QueryStringModule.vb" und "/BookIt.Web/App_Code/CSCode/Webgrid/Dienstleistung/Servicegruppe.cs" verwenden unterschiedliche Sprachen. Dies ist nicht zulässig, weil sie gemeinsam kompiliert werden müssen.]
   System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +8921851
   System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +85
   System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) +259
4

1 に答える 1

4

簡単に言えば、同じプロジェクト内で言語を混在させることはできません。同じソリューション内に VB.NET プロジェクトと C# プロジェクトを配置し、一方が他方を参照することができます。1 つのコンパイラを使用して、1つのプロジェクトをコンパイルします。

Build Action: Content他の言語がではなくとして含まれている場合、同じプロジェクトに複数の言語のコードを含めることができBuild Action: Compileます。もちろん、これらのファイルからクラスとロジックを使用することはできません。

ただし、フォルダー内のコード ファイルはApp_Code自動的にコンパイルされます。

http://msdn.microsoft.com/en-us/library/t990ks23(v=vs.80).aspx

App_Code フォルダー内のソース コードは 1 つのアセンブリにコンパイルされるため、App_Code フォルダー内のすべてのファイルは同じプログラミング言語である必要があります。たとえば、App_Code フォルダーには、Visual Basic と C# の両方のソース コードを含めることはできません。

ただし、Web アプリケーションを構成して、App_Code フォルダーのサブフォルダーを個別のコンパイル可能な単位として扱うことができます。各フォルダーには、異なるプログラミング言語のソース コードを含めることができます。構成は、Web.config ファイルのコンパイル要素に codeSubDirectories 要素を作成し、サブフォルダーへの参照を追加することによって指定されます。次の例は、VBCode および CSCode という名前のサブフォルダーを構成して、個別のアセンブリにコンパイルする方法を示しています。

<compilation debug="false">
    <codeSubDirectories>
        <add directoryName="VBCode" />
        <add directoryName="CSCode" />
    </codeSubDirectories>
</compilation>
于 2012-08-08T07:57:00.480 に答える