是否有必要手动将<autogeneratebindingredirect>元数据添加到Core项目文件以正确引用程序集?</autogeneratebindingredirect>

时间:2014-01-19 15:30:42

标签: assemblies xamarin visual-studio-2013 mvvmcross portable-class-library

我使用Visual Studio 2013和MvvmCross使用Portable Class Libraries创建Android应用程序。

我注意到在我的第一个视图模型CatalogViewModel中,某些代码突出显示为未引用正确的程序集或无法解析(即使出现这些问题,代码也能正常构建)。

enter image description here

在对象浏览器中检查.NET Portable Subset程序集,显示包含的各种系统程序集(2.0.5.0 v2.0.50727&amp; v4.0.30319,4.0.0.0,5.0.5.0)。通过将此行添加到.csproj文件,.NET Framework 4.5.1中程序集的自动绑定重定向可以是enabled or disabled

<AutoGenerateBindingRedirect>true</AutoGenerateBindingRedirect>

<AutoGenerateBindingRedirect>false</AutoGenerateBindingRedirect>

这似乎解决了IDE中的引用和重定向问题。我在网上查看的任何MvvmCross信息中都没有找到有关此核心项目文件的手动修改的任何信息,因此我想在此处发布一个问题,看看是否有人提供了一些信息或最佳实践。

enter image description here

1 个答案:

答案 0 :(得分:2)

不,你不应该需要AutoGenerateBindingRedirect。此功能旨在为非平台程序集(如NuGet程序包)生成绑定重定向。平台程序集应由Visual Studio / MSBuild自动统一。

这似乎有用,因为你指出:

  

即使出现这些问题,代码也能很好地构建

所以这看起来像是ReSharper中的一个错误。添加AutoGenerateBindingRedirect修复ReSharper问题的事实可能是其他方面的副作用。