gpt4 book ai didi

json - Microsoft Azure dll 在 .NET 4.0 中引发异常

转载 作者:行者123 更新时间:2023-12-04 06:08:12 27 4
gpt4 key购买 nike

我开发了EXE项目(用于启动任务)并使用Microsoft Azure的以下dll,

dlls

它在.Net Framework 3.5中工作得很好,但就我而言,我需要使用system.runtime.serialization按照以下方式将类序列化为json字符串

 public static string Serialize<T>(T obj)
{
System.Runtime.Serialization.Json.DataContractJsonSerializer serializer = new

System.Runtime.Serialization.Json.DataContractJsonSerializer(obj.GetType());
MemoryStream ms = new MemoryStream();
serializer.WriteObject(ms, obj);
string retVal = Encoding.Default.GetString(ms.ToArray());
ms.Dispose();
return retVal;
}

为此,我需要将框架更改为 4.0,但当时我从 Azure dll 中得到了异常喜欢

“Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment”的类型初始值设定项引发异常

我认为所有 Microsoft 的 dll 都向后兼容,那么这件事出了什么问题吗?

我应该找到另一种方法来序列化为 json 字符串吗?

我应该将 Azure 的 dll 更改为最新版本吗?

提前致谢。

最佳答案

如果您在 .NET4 中编写控制台应用程序并想要使用 RoleEnvironment,那么您将收到错误消息:

The type initializer for ‘Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment’ threw an exception.

要解决此问题,只需将“useLegacyV2RuntimeActivationPolicy”添加到默认 app.config 中生成的启动标记即可:

<startup useLegacyV2RuntimeActivationPolicy="true">

这是因为 Microsoft.WindowsAzure.ServiceRuntime.dll 是混合模式程序集。引用任何混合模式程序集都需要 useLegacyV2RuntimeActivationPolicy 属性,而不仅仅是 Windows Azure 程序集。

关于json - Microsoft Azure dll 在 .NET 4.0 中引发异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8090344/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com