MSIインストーラーの1つで、アセンブリとプロジェクト参照の相対パスをプログラム的に更新しています。すべての参照アセンブリは、アプリケーションフォルダー内にあります。
相対パスと絶対パスの両方を実装しようとしています。どちらも正常に動作しています。
相対パス
<Reference Include="log4net">
<HintPath>..\..\..\..\log4net.dll</HintPath>
</Reference>
絶対パス
<Reference Include="log4net">
<HintPath>C:\Program files\Myapplication\log4net.dll</HintPath>
</Reference>
参照アセンブリ パスまたは GAC ファイルからアセンブリの参照を取得するときに、絶対パス参照しか見たことがありません。
C:\Program Files (x86)\Reference Assemblies
<Reference Include="System.Management.Automation, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>C:\Program Files (x86)\Reference Assemblies\Microsoft\WindowsPowerShell\v1.0\System.Management.Automation.dll</HintPath>
</Reference>
.Csproj
パスをファイルに更新するための正しいアプローチはどれですか?