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

我正在使用Visual Studio 2013和MvvmCross使用Portable Class Libraries创建一个
Android应用程序.

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

在对象浏览器中检查.NET便携式子集程序集,显示包含的各种系统程序集(2.0.5.0 v2.0.50727& 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信息中找到有关此核心项目文件的手动修改的任何信息,所以我想在这里发布一个问题,看看是否有人有一些信息或最佳实践.

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

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

the code builds fine even with these issues

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

点赞