Visual Studio Mac中Xamarin的runtime节点是什么及应用配置文件位置?
解答:Visual Studio Mac中的runtime节点与应用配置文件位置
一、什么是"runtime"节点?
runtime是.NET应用配置文件里的核心节点,专门负责管控.NET运行时的关键行为——比如你遇到的程序集绑定重定向,就必须嵌套在这个节点下。
简单来说,当项目引用了多个版本的同一程序集时,运行时会出现版本冲突,绑定重定向的作用就是告诉运行时:"直接使用我指定的这个版本",而这些规则需要放在<runtime>节点的<assemblyBinding>子节点中。举个典型的配置结构示例:
<configuration> <!-- 其他配置节点 --> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <!-- 这里就是你要添加的绑定重定向规则 --> <dependentAssembly> <assemblyIdentity name="目标程序集名称" publicKeyToken="公钥令牌" culture="neutral" /> <bindingRedirect oldVersion="需要替换的旧版本范围" newVersion="要使用的新版本" /> </dependentAssembly> </assemblyBinding> </runtime> </configuration>
二、应用配置文件在Visual Studio Mac中的位置
根据项目类型的不同,配置文件的位置和名称会有区别:
- 控制台/WPF等桌面应用:在项目根目录下找
App.config文件。编译项目后,输出目录(比如bin/Debug/net48)会生成[你的项目名].exe.config,运行时实际读取的是这个编译后的文件,但你直接在VS Mac里编辑项目根目录的App.config即可,编译时会自动同步到输出文件。 - ASP.NET Framework项目:项目根目录下的
Web.config就是目标文件,绑定重定向直接加在这个文件的<runtime>节点里。 - 类库项目:注意类库本身没有独立的配置文件!绑定重定向必须加到引用这个类库的主应用程序的配置文件中(比如控制台项目的
App.config),因为类库依附主程序运行,运行时只会读取主程序的配置。
你可以直接在Visual Studio Mac的解决方案资源管理器里找到对应的配置文件,右键编辑添加规则,保存后重新编译项目即可。
内容的提问来源于stack exchange,提问作者Le Mot Juiced
相关产品推荐
相关产品推荐

