18

プロジェクトを3.5からAsp.Net4にアップグレードしました。TeamCityからビルドを開始すると、次のエラーが発生します。

[Project "Website.metaproj" (Rebuild target(s)):] C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_compiler.exe -v /Website -p Website\ -u -f PrecompiledWeb\Website\
[12:11:50]: [Project "Website.metaproj" (Rebuild target(s)):] ASPNETCOMPILER error ASPCONFIG: Could not load file or assembly 'Microsoft.VisualBasic.Activities.Compiler' or one of its dependencies. An attempt was made to load a program with an incorrect format.
[12:11:50]: MSBuild output:
[12:11:50]: Copying file from "C:\Program Files\TeamCity\buildAgent\work\8bbb8fc03bd91944\Dependencies\wnvxls.dll" to "Website\\Bin\wnvxls.dll".
[12:11:50]: Copying file from "C:\Program Files\TeamCity\buildAgent\work\8bbb8fc03bd91944\Dependencies\wnvxls.xml" to "Website\\Bin\wnvxls.xml".
[12:11:50]: C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_compiler.exe -v /Website -p Website\ -u -f PrecompiledWeb\Website\
[12:11:50]: ASPNETCOMPILER : error ASPCONFIG: Could not load file or assembly 'Microsoft.VisualBasic.Activities.Compiler' or one of its dependencies. An attempt was made to load a program with an incorrect format. [C:\Program Files\TeamCity\buildAgent\work\8bbb8fc03bd91944\Website.metaproj]
[12:11:50]: Done Building Project "C:\Program Files\TeamCity\buildAgent\work\8bbb8fc03bd91944\Website.metaproj" (Rebuild target(s)) -- FAILED.
[12:11:50]: Done Building Project "C:\Program Files\TeamCity\buildAgent\work\8bbb8fc03bd91944\MyProject.sln" (Rebuild target(s)) -- FAILED.
[12:11:50]: Done Building Project "C:\Program Files\TeamCity\buildAgent\work\8bbb8fc03bd91944\MyProject.sln.teamcity.patch.tcprojx" (TeamCity_Generated_Build;TeamCity_Generated_NUnitTests target(s)) -- FAILED.
[12:11:50]: Build FAILED.
[12:11:50]: "C:\Program Files\TeamCity\buildAgent\work\8bbb8fc03bd91944\MyProject.sln.teamcity.patch.tcprojx" (TeamCity_Generated_Build;TeamCity_Generated_NUnitTests target) (1) ->
[12:11:50]: "C:\Program Files\TeamCity\buildAgent\work\8bbb8fc03bd91944\MyProject.sln" (Rebuild target) (2) ->
[12:11:50]: "C:\Program Files\TeamCity\buildAgent\work\8bbb8fc03bd91944\Website.metaproj" (Rebuild target) (3) ->
[12:11:50]: "C:\Program Files\TeamCity\buildAgent\work\8bbb8fc03bd91944\MyProject.Other\MyProject.Other.csproj" (Rebuild target) (5) ->
[12:11:50]: (CoreCompile target) ->
[12:11:50]: Helpers\ProgramHelper.cs(40,21): warning CS0168: The variable 'ex' is declared but never used [C:\Program Files\TeamCity\buildAgent\work\8bbb8fc03bd91944\MyProject.Other\MyProject.Other.csproj]
[12:11:50]: "C:\Program Files\TeamCity\buildAgent\work\8bbb8fc03bd91944\MyProject.sln.teamcity.patch.tcprojx" (TeamCity_Generated_Build;TeamCity_Generated_NUnitTests target) (1) ->
[12:11:50]: "C:\Program Files\TeamCity\buildAgent\work\8bbb8fc03bd91944\MyProject.sln" (Rebuild target) (2) ->
[12:11:50]: "C:\Program Files\TeamCity\buildAgent\work\8bbb8fc03bd91944\Website.metaproj" (Rebuild target) (3) ->
[12:11:50]: (Rebuild target) ->
[12:11:50]: ASPNETCOMPILER : error ASPCONFIG: Could not load file or assembly 'Microsoft.VisualBasic.Activities.Compiler' or one of its dependencies. An attempt was made to load a program with an incorrect format. [C:\Program Files\TeamCity\buildAgent\work\8bbb8fc03bd91944\Website.metaproj]
[12:11:50]: 1 Warning(s)
[12:11:50]: 1 Error(s)
[12:11:50]: Time Elapsed 00:00:31.48

.netフレームワーク参照アセンブリをC:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.0にコピーしてみましたが、それでもうまくいきませんでした。何かご意見は?

4

9 に答える 9

10

私にとって、それは確かにx86/x64の不一致でした。MSBuild環境変数を介してx64MSBuildへのパスを指定することで解決しました。

MSBuild環境変数を設定します

于 2012-11-01T09:56:55.357 に答える
9

このエラーは、古い(v3またはv3.5)システムアセンブリを参照するソリューションのクラスライブラリに関係していました。これらのクラスライブラリは私のWebサイトで参照されていたため、システムアセンブリはクラスライブラリと一緒にbinフォルダにコピーされました。3.5ディレクトリのシステムアセンブリは4.0ディレクトリとは異なる権限を持っている可能性があり、aspnet_compilerがbinディレクトリからそれらをロードしようとするとバーフされました。

各csprojファイルを調べて<RequiredTargetFramework>値をに更新した4.0後、すべてが期待どおりに機能しています。

于 2010-06-16T23:22:16.870 に答える
7

.csproj_deployVSからのビルドで同じエラーが発生しました。ソリューション内のWebを含む他のすべてのプロジェクトは正常に構築されました。実際、このMicrosoft.VisualBasic.Activities.Compilerdllは私のWebbinフォルダーにありました。ビルド/クリーンソリューションをクリックすると、これを除いてフォルダ内のすべてのファイルが削除されました。このファイルを手動で削除して再ビルドしましたが、正常にビルドされました。今回は、binフォルダーにこのファイルも表示されません。

于 2010-09-16T13:38:02.613 に答える
2

x86 / x64の不一致のように見えます-ファイルを手動でコピーしてハッキングするよりも、実際にフレームワークインストーラーを使用することを強くお勧めします

于 2010-06-16T17:26:48.750 に答える
2

ここで紹介する非常に単純な解決策で問題が解決したことがわかりました。これは、Windows SDK for .NET Framework 4(またはWindowsバージョンと同等のもの)をインストールすることです。

この問題を修正するために必要なSDKの機能は、「IntellisenseandReferenceAssemblies」だけであるという受け入れられた回答へのコメントに注意してください。

于 2012-07-12T14:21:55.927 に答える
2

私のために働いた簡単な解決策は、.vbprojファイルのTargetFrameworkVersion行を変更することでした。「v4.0」を「4.0」に変更するだけで、すべてのcopmilerエラーが削除され、インテリセンスの問題が修正されました(asp.netタグが認識されませんでした)。

于 2012-07-30T15:33:39.167 に答える
2

ホスティング環境を(IISを使用する新しいWebサーバーに)切り替えるときにこのエラーが発生しました。

修正は次のとおりです。

  • アプリケーションプール/詳細設定を変更し、に設定Enable 32 bit applicationsするtrueか、または
  • すでにフレームワークに属しているbinフォルダーからすべてのアセンブリを削除します(たとえばSystem.Data.dll、明らかに32b用に構築されたbinフォルダーにありました-削除すると問題が修正されました)
于 2015-02-24T10:59:17.827 に答える
0

'Microsoft.VisualBasic.Activities.Compiler'dllへの不要な参照があることがわかりました。参照を削除すると、すべてが機能しました。

于 2016-03-28T20:24:00.490 に答える
0

Visual Studioでx64でWebプロジェクトを構築し、IIS Expressで実行している場合は、次の設定を有効にする必要があります。

Tools --> Options --> Projects & Solutions --> Web Projects --> Use the 64 bit version of IIS Express for web sites and projects

于 2017-09-27T17:26:15.827 に答える