3

ビルド コンピューターを新しいものに変更すると同時に、Visual Studio 2010 に変更する作業を行っています。約 500 の異なる小さなコンポーネントがあり、それぞれが独自のcsprojファイルであり、それらのすべてが "\ Framework\bin\" ディレクトリ。

ソースコード全体を取得してプロジェクトのコンパイルを開始した後、問題に遭遇しました。多くの参照は解決できませんが、すべてではなく、異なるプロジェクトで常に同じ参照であるとは限りません。この問題は、 csprojファイルのHintPath属性に関連しているようです。

具体的には、解決できる参照の例を次に示します。

<Reference Include="AIS.Common, Version=8.1.0.1, Culture=neutral, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>..\..\..\Framework\Bin\AIS.Common.dll</HintPath>
</Reference>

そして、これができないものです:

<Reference Include="AIS.ControlLib, Version=9.1.0.1, Culture=neutral, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
</Reference>

奇妙なことに、Visual Studio の 2 つの参照のプロパティはまったく同じです (もちろん、名前と ID を除いて)。HintPathは自動生成されているようですが、なぜ一部の参照だけなのでしょうか?

異なるバージョンの Visual Studio (500 以上のプロジェクトのうち、一部は VS2005、他は VS2008、その他はまだ VS2010) を使用すると問題が発生する可能性があると思われますが、動作を論理的なものに絞り込むことはできませんでした。

未解決の参照を手動で再アタッチせずにプロジェクトをコンパイルする方法はありますか?

4

2 に答える 2

1

記録として、次のキーをレジストリに追加した後、VS は参照を解決できました。

キー:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft.NETFramework\AssemblyFolders\ProjectName
値:
"D:\AIS\Projects\Framework\Bin"

レジストリでプレイすることが正しいことだと感じることはめったにありませんが、私たちの状況では、問題は解決しました. ただし、全体に光を当てる答えはまだ受け入れます。

于 2011-05-20T09:07:45.623 に答える