2

.NET 2.0 用のいくつかのアセンブリを作成する VS2010 ソリューションを入手しました。

これにはサテライト アセンブリも含まれます。

VS2010ですべてを作成すると問題ありません。しかし、MSBuild を使用してビルド サーバーとして動作する XP マシンがあります。そこから作成されたサテライト アセンブリは認識されません。ILDASM を見ると、VS2010 はメタデータ バージョン 2 を作成し、MSBuild はバージョン 4 を作成します。これは、VS2010 が正しい .NET2 バージョンを作成し、MSBuild が .NET2 のメイン アセンブリのみを作成するが、サテライト アセンブリは .NET4 であることを意味すると思います。

ここからこのトピックについては既に知っています:サテライト アセンブリのターゲット フレームワーク バージョンを決定するものは何ですか?

しかし、それは私にはうまくいきません。

ビルド サーバーに .NET2 サテライト アセンブリを作成させる方法はありますか? AL.exe を適切に呼び出す方法を知っていれば、スクリプトを強化できるかもしれません。

4

1 に答える 1

3

さて、私はそれをハッキングしました。

ビルド マシン (WinXP) には、AL.exe 10.0.30.x を含む Windows SDK 7.1 があります。これは、常に .NET4 サテライト アセンブリを作成するものです。

VS2010 を搭載した私のマシン (Win7) には、AL.exe 9.0.30729.1 を含む Windows SDK 7.0a があります。これは、ターゲット フレームワークに関するものです。

(バックアップ後)ビルドマシンのAL.exeを私のものに置き換えました。これは機能しますが、非常に汚い回避策だと思います。

誰かがより良い方法を知っていれば、助けていただければ幸いです!

于 2013-04-04T12:55:08.610 に答える