1

私たちの開発チームは最近、ソリューションを VS2008 から VS2010 にアップグレードして、VS2010 IDE の機能の一部を使用できるようにしました。しかし、対象となるフレームワークはまだ .Net 3.5 です。開発者が VS 2008 コマンド プロンプトから MSBuild を実行して VS2010 ソリューションをビルドすると、ビルドは成功しました。しかし、ビルドサーバーでは以下のエラーが発生しています。

MSB3086: タスクは、SdkToolsPath "" またはレジストリ キー "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A" を使用して "sgen.exe" を見つけることができませんでした。SdkToolsPath が設定されていること、ツールが SdkToolsPath の下の正しいプロセッサ固有の場所に存在していること、および Microsoft Windows SDK が Microsoft.Common.targets(2249, 9) にインストールされていることを確認してください。

VS2010 も Windows SDK 7.1 も .Net 4.0 もビルド サーバーにありません。また、本番環境で .Net 3.5 を継続したいので、ビルド サーバーに .Net 4.0 または VS2010 をインストールしたくありません。

ビルド サーバーに .Net 4.0 または VS2010 をインストールせずに、VS 2008/3.5 MSBuild を使用して VS2010 ソリューションの実行を修正する方法はありますか?

ありがとうトッド

4

2 に答える 2

3

開発に VS2010 を使用している場合は、ビルド サーバーに少なくとも .NET 4.0 (MSBuild 4.0) をインストールする必要があります。プロジェクトは引き続き .NET 3.5 をターゲットにすることができます。私は、MSBuild 3.5 で VS2010 ソリューション ファイルをビルドしようとする考えを楽しませません。MSBuild 4.0 を使用し、.NET 3.5 をターゲットにするだけです。

于 2010-11-11T00:10:40.703 に答える
1

.Net 4.0 言語機能を使用しているかどうかに応じて、機能する可能性のある方法の 1 つは、ビルド サーバーでのビルド プロセスの一部としてSteve Dunn の SwitchVsVersionを使用して、ソリューション ファイルの Visual Studio バージョンを 2008 に変更することです。

利用方法:

SwitchVsVersion.exe <target dir> 2008

<target dir> 内の sln および csproj ファイルのバージョンを Visual Studio 2008 互換に変更します

于 2010-11-10T18:00:37.300 に答える