c# - C#如何指定子文件夹中可用的程序集
问题描述
我在根文件夹中有一个 sqlpackage.exe 和 sqlpackage.exe.config.xml 文件。.config.xml 引用子文件夹中的组件。如何在配置中指定引用名为“\binaries”的子文件夹中的程序集
这里 .config.xml 中的部分:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.SqlServer.Types" publicKeyToken="89845dcd8080cc91" culture="neutral" />
<bindingRedirect oldVersion="10.0.0.0-14.0.0.0" newVersion="15.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.SqlServer.TransactSql.ScriptDom" publicKeyToken="89845dcd8080cc91" culture="neutral"/>
<bindingRedirect oldVersion="12.0.0.0-14.100.0.0" newVersion="15.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.SqlServer.Dac" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="11.0.0.0-14.0.0.0" newVersion="15.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.SqlServer.Dac.Extensions" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="11.0.0.0-14.0.0.0" newVersion="15.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
解决方案
分配probing
元素。
https://docs.microsoft.com/en-us/dotnet/framework/configure-apps/file-schema/runtime/probing-element
指定可能包含程序集的应用程序基目录的子目录。用分号分隔每个子目录。
来自文档的示例:
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="bin;bin2\subbin;bin3"/>
</assemblyBinding>
</runtime>
</configuration>
所以在你的情况下:
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="binaries"/>
<dependentAssembly>
<assemblyIdentity name="Microsoft.SqlServer.Types" publicKeyToken="89845dcd8080cc91" culture="neutral" />
<bindingRedirect oldVersion="10.0.0.0-14.0.0.0" newVersion="15.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.SqlServer.TransactSql.ScriptDom" publicKeyToken="89845dcd8080cc91" culture="neutral"/>
<bindingRedirect oldVersion="12.0.0.0-14.100.0.0" newVersion="15.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.SqlServer.Dac" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="11.0.0.0-14.0.0.0" newVersion="15.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.SqlServer.Dac.Extensions" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="11.0.0.0-14.0.0.0" newVersion="15.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
推荐阅读
- r - 如何在 geom_segment 中获取类型 T 箭头?
- reactjs - Babel 需要未使用的模块?
- python - 如何访问本体中节点的层次信息,为不同层次的类分配不同的权重?
- python - 根据条件选择数据框值
- vue.js - 谷歌地图使用 vue2-google-maps 重叠
- javascript - 发布的 npm 包不应用样式
- python - 如何计算键值对(RDD)中的唯一值?
- java - EventListener 正在返回一个没有调用它的线程。当它调用主线程中的方法时,这会造成死锁
- python - Python中的Open方法是否执行EXE
- python - 赋值前引用的局部变量“model_prediction”