Xamarin - 无法找到元数据文件... / AWSSDK.SecurityToken.CodeAnalysis.dll

时间:2017-06-06 02:46:11

标签: c# amazon-web-services amazon-s3 aws-sdk offline-caching

我正在尝试在我的Xamarin App中实现离线同步功能。我已经安装了Nuget包:

  • AWSSDK.SecurityToken
  • AWSSDK.SimpleDB
  • AWSSDK.CognitoSync
  • AWSSDK.CognitoIdentity

我在尝试重建应用程序时收到此错误

Severity Code Description Project File Line Suppression State Error CS0006 Metadata file '..\..\packages\AWSSDK.SecurityToken.3.3.2\analyzers\dotnet\cs\AWSSDK.SecurityToken.CodeAnalysis.dll' could not be found

2 个答案:

答案 0 :(得分:1)

对我来说,我不得不卸载错误的项目并编辑.csproj以获得正确的路径:

<ItemGroup>
    <Analyzer Include="..\packages\AWSSDK.S3.3.3.10\analyzers\dotnet\cs\AWSSDK.S3.CodeAnalysis.dll" />
</ItemGroup>

答案 1 :(得分:0)

我认为问题在于,通过AWSToolkitPackage.vsix安装的默认AWS模板会创建对代码分析器dll的引用,就像为解决方案创建了一个单独的目录一样。

  

简单的解决方法是消除文件系统引用NuGet包的位置之一。我没有必要关闭解决方案或任何东西,只需在您喜欢的文本编辑器中打开受影响的项目文件(可能是* .csproj)并找到包参考。

为:

  ..\packages\AWSSDK.EC2.3.3.19\analyzers\dotnet\cs\AWSSDK.EC2.CodeAnalysis.dll

适合我:

   .\packages\AWSSDK.EC2.3.3.19\analyzers\dotnet\cs\AWSSDK.EC2.CodeAnalysis.dll 

在我的情况下,有三个单独的包需要纠正其路径。请注意,一旦我升级到最新版本的“awssdk”NuGet包,分析器本身就会从项目的参考中删除。

  

这让我觉得替代解决方案是简单地更新所有NuGet包引用,而不用担心编辑csproj文件。