.NET配置文件专有软件问题

时间:2012-10-18 09:40:03

标签: c# .net config user.config

我为大型专有平台 - DocsVision写了一个扩展。这个平台使用.NET 3.5 SP1,但是我使用.NET 4编写了我的扩展(我想,为什么不呢?)

稍后,当DocsVision使用Internet Explorer作为主机时 - 我将.config文件添加到带有启动标记的IE目录,以支持.NET 4的运行时,一切正常。

但是现在,在新版本中,有新的主机 - 带有自己的.config文件的Navigator.exe:

Navigator.exe.config

<?xml version="1.0" encoding="utf-8" ?>
 <configuration>
  <configSections>
   <sectionGroup name="docsvision.platform.wpf.navigator" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
    <section name="navigator" type="DocsVision.Platform.Wpf.Navigator.Configuration.NavigatorConfigurationSection, DocsVision.Platform.Wpf.Navigator, Version=5.0.0.0, Culture=neutral, PublicKeyToken=7148afe997f90519"  allowExeDefinition="MachineToLocalUser" />
   </sectionGroup>
  </configSections>
  <docsvision.platform.wpf.navigator>
   <navigator>
    <connection />
   </navigator>
  </docsvision.platform.wpf.navigator>
  <runtime>
   <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <!-- Probing path is used for fast loading of ngen assembly images -->
    <probing privatePath="Components;SystemCards;BaseObjects;Workflow;TakeOffice" />
   </assemblyBinding>
  </runtime>
 </configuration>

user.config

<?xml version="1.0" encoding="utf-8"?>
 <configuration>
  <docsvision.platform.wpf.navigator>
   <navigator>
    <connection DisableVersionMismatchNotification="false" LangName="" />
    <view ShowArchivedItems="false" ShowColorLabels="true" ShowDeletedItems="false"
            ShowNavigationPane="true" ShowPreviewPane="false" ShowStatusBar="true" />
   </navigator>
  </docsvision.platform.wpf.navigator>
 </configuration>

因此,由于混合模式,我的.dll .NET 4无法加载。 如果我添加到Navigator.exe.config,请遵循经典行:

<startup useLegacyV2RuntimeActivationPolicy="true">
 <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>

我的.dll将加载正确并且我的所有扩展程序都能正常工作,但是在平台的其他部分中,GUI和异常(加载其他DLL时)会有一些问题。

我做错了什么,如何在没有错误的情况下使用我的扩展程序?

P.S。我的DLL首先使用COM加载,所以我有这个: Navigator.exe with all DLLs

因此,应用程序有两个域。但是当我尝试使用扩展程序执行smthng操作时 - 会出现.NET 4 dll加载错误。为什么???

0 个答案:

没有答案