我有一个项目,让我们称之为'ProjectX‘,需要使用Excel。发展是成功的,但我无法解决一个问题。在为不同的环境(例如DEV、UAT和PROD )构建时,项目使用配置转换来更新app.config中的值。
这里的问题是:当我为特定环境(如DEV )构建时,会按预期进行转换。但是,ProjectX-AddIn64-packed.xll.config不进行转换,这是Excel在XLL中使用的配置。我不知道该怎么做,任何帮助都将不胜感激。
约束:I只能部署一个文件,即XLL。
我尝试过/研究过的事物:
app.config重命名为ProjectX-AddIn64-packed.xll.configExcelDna.Build.props以尝试重写默认构建/打包过程发布于 2020-05-20 00:35:10
在本文撰写之时,Excel中目前不支持App.config转换.目前的一个解决办法是,在应用转换之后,将.xll.config文件替换为构建结束时的.dll.config文件的内容。
有许多不同的方法可以选择这个文件替换..。例如,您可以在构建后事件中运行脚本,或者将一个新的MSBuild目标添加到在复制文件的ExcelDnaBuild任务之后运行的.csproj文件中。
例如。
<Target Name="CopyAppConfig" AfterTargets="ExcelDnaBuild">
<Copy SourceFiles="$(TargetPath).config" DestinationFiles="$(TargetDir)MyAddIn-AddIn.xll.config" />
<Copy SourceFiles="$(TargetPath).config" DestinationFiles="$(TargetDir)MyAddIn-AddIn-packed.xll.config" />
<Copy SourceFiles="$(TargetPath).config" DestinationFiles="$(TargetDir)MyAddIn-AddIn64.xll.config" />
<Copy SourceFiles="$(TargetPath).config" DestinationFiles="$(TargetDir)MyAddIn-AddIn64-packed.xll.config" />
</Target>您可以在我们的GitHub回购中了解更多有关此信息的内容:
https://stackoverflow.com/questions/61902860
复制相似问题