我知道过去有几次被问过这个问题。我已经阅读了所有的答复和答案,但似乎都没有。
我已经尝试将.config放在同一个组件和另一个组件中。 我在相同的组件和不同的组件中尝试过CompanionFile。 我试过CopyFile。 我尝试过自定义操作。
组件需要位于GAC中,因为它是许多不同子系统(服务,网站等)使用的常规日志记录dll。但它的配置与所有系统相同。
所以现在我将文件安装到SDK目录并告诉用户复制文件。
唯一有效的方法是手动复制文件并对“你需要管理员权限来执行此操作”说“是”。
<File Id="SDK.Logging.dll.config"
Source="$(var.LOGGER_DIR)\SDK.Logging.dll.config"
Vital="yes">
</File>
<Property Id="XCOPY">xcopy.exe</Property>
<CustomAction Id="Copy.SDK.Logging.dll.config"
Property="XCOPY"
ExeCommand='"[INSTALLLOCATION]SDK.Logging.dll.config" "[GAC.SDK.Logging.Dir]"' />