在我的一个 MSI 安装程序中,我正在以编程方式更新程序集和项目参考相对路径。我的应用程序文件夹中的所有参考程序集。
我尝试实现路径相对路径和绝对路径。两者都工作正常。
相对路径
<Reference Include="log4net">
<HintPath>..\..\..\..\log4net.dll</HintPath>
</Reference>
绝对路径
<Reference Include="log4net">
<HintPath>C:\Program files\Myapplication\log4net.dll</HintPath>
</Reference>
当我从 Reference Assemblies Path 或 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
文件的正确方法?