在视觉工作室扩展中包括json.net



我正在视觉工作室扩展中使用json.net,并且不包括在分布中(通过Microsoft设计)。

在链接的票证中,他们只是声明应使用v9.0.1。支持多个Vstudio版本"使事物复杂"。

另一个如此的问题给出和回答,在所有情况下都不起作用。

我使用的是nuget软件包,该软件包又取决于newtonsoft.json 10.0.x。有什么办法可以继续使用json.net v10.x而不会给Visual Studio造成任何麻烦吗?

一种可能的解决方案是使用appDomain并包装所有newtonsoft.json与新AppDomain中的相关呼叫:

myDomain = AppDomain.CreateDomain("myDomain", AppDomain.CurrentDomain.Evidence,
                                    new AppDomainSetup()
                                    {
                                        ApplicationBase = extensionPath,
                                        ConfigurationFile = Path.Combine(extensionPath, configurationFileName)
                                    });

文件configurationFileName应该用您的扩展名发送,其内容看起来像:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-10.0.0.0" newVersion="10.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>

相关内容

  • 没有找到相关文章

最新更新