8

多くのプロジェクトを含む C# ソリューションがあります。各プロジェクトは、指定されたフォルダー内のいくつかの dll を参照します。MSDN によると、プロジェクトの参照パスをプロジェクト -> プロパティ -> 参照パスに追加できます。プロジェクト フォルダーの下に、以下の内容の .csproj.user ファイルが生成されます。

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <PropertyGroup>
        <ReferencePath>C:\References\bin\</ReferencePath>
    </PropertyGroup>
</Project>

ただし、これは 1 つのプロジェクトだけでしか機能しません。ソリューション内のすべてのプロジェクトに同じ設定を適用する簡単な方法はありますか?

4

2 に答える 2

7

これを行う方法を説明するブログ投稿を見つけました。

パッケージ マネージャー コンソール (表示 | その他のウィンドウ | パッケージ マネージャー コンソールなど) を開き、相対パスに次のようなスクリプトを使用します。

$path = [System.IO.Path]; foreach ($proj in get-project -all) {$proj.Properties.Item("ReferencePath").Value="$($path::GetDirectoryName($proj.filename))\..\libs"}

または、すべてのプロジェクトの単一の固定プロジェクト参照の場合:

foreach ($proj in get-project -all) {$proj.Properties.Item("ReferencePath").Value="C:\lib"}
于 2015-08-18T16:44:53.860 に答える
0

おそらく、プロジェクトは多くのソリューションに読み込まれる可能性があり、必要なライブラリの参照パスがソリューションに限定されると、ビルド エラーが発生するか、どのソリューションに応じて異なる動作が発生するかが考えられます。ソリューションがプロジェクトに別の場所で依存関係を探すように指示する場合、プロジェクトをビルドします。

于 2012-05-14T04:25:38.580 に答える