2009-03-05 8 views
0

Webサイトとクラスライブラリを持つソリューションがあります。また、VS 2005とVS 2008で開発者が働いています。この問題は、ユーザーがファイルを追加する/クラスライブラリからファイルを削除するときです。このファイルは、他のバージョンのユーザーのプロジェクトファイルに追加されません。 VS。また、自動化されたビルドをセットアップして、1つのプロジェクトファイルを使用する必要がありました。これを回避する方法はありますか、それとも2008年に全員をアップグレードする必要がありますか?VS 2005とVS 2008が同じプロジェクトで動作する開発者

+0

これが答えではないが、あなたの開発者が好意を行うと、VS2008SP1にアップグレードすると、彼らは幸せになるでしょう。そしてあなたの問題も解決します! – OregonGhost

+0

これは本当に私が考えていることですが、私は会社が本当に遅くなってアップグレードができて間欠的な修正がうまくいくと確信しています。おかげさまで – Greg

+0

あなたのプロジェクトが2つの異なるバージョンにある特別な理由はありますか? –

答えて

0

私は今VS08を使っているプロジェクトで作業しているので、参照されたDLLのパスが混ざり合ってdllが失われるか、同じ問題が発生します。あるユーザーから追加されたファイルは、更新後の次のプロジェクトファイルには含まれていないと説明しました。

+0

Webサイトプロジェクトで作業する場合、これが多く発生します。最善の策は、Webアプリケーションプロジェクトに変換することです。 WSPは自動的にプロジェクトパスにあるアセンブリおよびファイルをスキャンし、自動的に追加します。 – NotMe

+0

期待された場所にアセンブリが見つからない場合、WAPのみがスキャンします。それはまだ多くの理由で悪いです。 – NotMe

+0

情報に感謝します。私はそれを念頭に置いておきます。 – Gambrinus

5

あなたは同じVisual Studioのバージョン上の各ソリューションファイルを維持する必要があります。しかし、あなたの製品をいくつかのソリューションに分割することは大丈夫です。この場合、2005年のプロジェクトを保持する1つの.slnファイルと、2008年のプロジェクトを保持する1つの.slnファイルがあります。

2005年と2008年のプロジェクトを同期させる方法はありません。プロジェクトにプロジェクトを追加すると、その新しいファイルが作成されないためです。同様に、ファイルを削除します。複数のプロジェクトメンバーのチームでのVisual Studioの二つの異なるバージョンを使用した作業

+0

ソース管理に追加されている限り、他のバージョンのVSから引き続き入手できます。既存のアイテムを追加するだけです。 – Will

+0

2008年のプロジェクトは2005年に開かれます。2005年に開かれないのは2008年のソリューションファイルだけです。2005年と2008年のソリューションファイルを保存し、両方とも同じ2008年のプロジェクトファイルを参照してください。私の答えを見てください。 – chyne

6

は全く意味がありません。 Visual Studio 2005にダウングレードするか、Visual Studio 2008にアップグレードすることをお勧めします。複数のバージョンのVisual Studioを同じマシンにインストールして、副作用を起こすことはありません。

+0

-1木の下でお金が増えている世界では、ライセンスの問題はなく、開発者はワークステーションに必要なものをインストールすることができます。「絶対に意味をなさない」かもしれません。 現実世界では – chyne

+0

申し訳ありませんが、異なるIDEを使用しているときにプロジェクトを同期させておく時間があれば、Visual Studioのライセンスよりも多くのコストが発生します。職人は彼の道具でお金を節約しようとは決してすべきではありません。 – Alexander

+0

私はこれが必要な正当な状況があります。チームのほとんどはまだ2008年に移行できませんが、ツールチームはwpfを使用します。これらのツールはいくつかの共有ライブラリを使用するため、2008年と2005年のプロジェクトを同期させておく必要があります。 –

0

は、私が「ウェブサイト」(というよりも、「Webアプリケーション」)のプロジェクトについてはよく分からないが、一般的に、あなたはあなたが唯一の独立したソリューションファイルを必要とする2005年と2008年に別のプロジェクトファイルを必要としません。

ただ、2008年にあなたの2005年のプロジェクトを開いて、それはあなたのソリューション/プロジェクトをアップグレードすることができます。 CLRバージョンの更新を求めるダイアログが表示される場合があります。

作業が完了したら、* .slnファイルを別の名前(私のコピー* .2005.sln)にコピーし、コピーした* .slnファイルをメモ帳で開きます。 。 2行目で「Format Version 10.0」を探し、「Format Version 9.0」に変更します。ファイルを保存します。それだ

、アップグレードされたソリューションファイルをVS 2008で動作し、あなたはWebアプリケーションのプロジェクトを持っている場合は、1つの余分なステップがありますコピーされ、VS 2005

で作品を変更1。 Webアプリケーションのvbprojまたはcsprojファイルで、行を見つける:

<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v9.0\WebApplications\Microsoft.WebApplications.targets" Condition="" /> 

およびこれら2と1行こと置き換える:

<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v8.0\WebApplications\Microsoft.WebApplications.targets" Condition="'$(Solutions.VSVersion)' == '8.0'" /> 
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v9.0\WebApplications\Microsoft.WebApplications.targets" Condition="'$(Solutions.VSVersion)' == '9.0'" /> 

これらの2行は条件付きバージョンに応じて、正しいMSBuildのパスを選択しますVSの使用。

+0

VS2008ソリューションをVS2005ソリューションに変換する方法は正確ですが、これらの2つのファイルを同期させる方法についての質問は扱いません。 – NotMe

+0

OPは、PROJECTファイルを同期させておくことを頼んだ。私は、プロジェクトファイルを同期させないで、同じプロジェクトファイルを再利用するということです。バージョン間のソリューションファイルのみを変更します。ソリューションファイルはどのくらいの頻度で変更されますか? – chyne

関連する問題