我试图将程序集重定向从web.config
移动到外部文件中。原因是我希望在一个地方保持绑定重定向,并在调试和生产配置上使用它。
这有点奏效,但我在指定相对路径方面有所作为。
<configuration>
<!-- this works, but forces me to use the same path on dev and production machines -->
<linkedConfiguration href="file://c:\data\web.runtime.config"/>
<!-- none of those works -->
<linkedConfiguration href="file://web.runtime.config"/>
<linkedConfiguration href="file://..\web.runtime.config"/>
<linkedConfiguration href="file://~/web.runtime.config"/>
</configuration>
我希望将web.runtime.config
保留在与其他Web应用程序相同的文件夹中。是否可以在linkedConfiguration
元素中指定相对路径?
更多信息:
我已经在VS 2015中使用IIS Express和ASP MVC应用程序对其进行了测试。使用SysInternals Process Monitor监视文件访问时,相对路径似乎解析为\\web.runtime.config
(无效的网络路径),而在使用绝对路径时没有添加前导\\
。
答案 0 :(得分:2)
我找到了一种指定相对路径的方法。
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<linkedConfiguration href="file:./RuntimeConfiguration.xml"/>
</assemblyBinding>
答案 1 :(得分:1)
文件web.runtime.config必须位于bin目录中。
使用href =“ file:web.runtime.config”可以正常工作