当我尝试为Microsoft.OData.Client.dll生成假货时,我收到以下错误。有没有人遇到这个问题,有没有解决这个问题?
元数据:方法' get_Url'在类型' Microsoft.OData.Client.InternalODataRequestMessage'来自assembly' Microsoft.OData.Client,Version = 6.8.1.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'没有实施。 (TASKID:18) 1 GT;元数据:方法' get_Url'在类型' RequestMessageWithCachedStream'来自assembly' Microsoft.OData.Client,Version = 6.8.1.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'没有实施。 (TASKID:18) 1 GT;元数据:方法' get_Url'在类型' Microsoft.OData.Client.HttpWebRequestMessage'来自assembly' Microsoft.OData.Client,Version = 6.8.1.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'没有实施。 (TASKID:18) 1 GT;元数据:无法加载程序集Microsoft.OData.Client:(TaskId:18) 1 GT;元数据:方法' get_Url'在类型' Microsoft.OData.Client.HttpWebRequestMessage'来自assembly' Microsoft.OData.Client,Version = 6.8.1.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'没有实施。 (TASKID:18)
答案 0 :(得分:1)
我是Alok的队友,我们最终在OData Client V4团队的帮助下找到了答案。这与处理PCL的其他答案类似,但可能更有用。
遇到此问题(或任何其他类似问题)的诀窍是对您遇到问题的类型执行以下操作:
Console.WriteLine(typeof(Uri).Assembly.Location);
Console.WriteLine(typeof(Uri).Assembly.FullName);
使用此信息然后输入Fakes Assembly生成器。这是我们需要引用的特定程序集:
<Reference Path="C:\windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll" FullName="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
一旦你这样做,你应该能够编译假的。
这适用于任何类型的问题,例如referenced here at stackoverflow。