繁体   English   中英

无法在多个项目上更改目标框架从v4.0到V4.5或4.5.1

[英]Cannot change Target Framework on Several Projects From v4.0 to V4.5 or 4.5.1

我在一个大型解决方案中有几个项目不会转换为V4.5.1(甚至V4.5)。 大多数人都这样做了,但显然我需要让他们全部转换。 Visual Studio中的GUI表示它已经完成并重新加载项目,但是如果你回到属性,它仍然会说V4并且由于正确转换的依赖关系而无法编译,并且是V4.5.1

我尝试手动更新.csproj文件,它说4.5.1作为目标框架,我甚至更新app.config / web.config指向正确的版本,但Visual Studio的属性页仍然说.NET 4并且是抛出编译错误,因为它无法访问成功更新到4.5.1的错误

在获取这些更新的过程中我缺少什么? 我已经尝试过VS.net 2012和2013,两者都做同样的事情。

希望这有助于其他人:

在我们的例子中,问题是我们引用了为整个解决方案创建的自定义目标文件。 即使项目正在更新,自定义目标文件也会覆盖它,从而阻止项目更新。

更新了目标文件以指向.net 4.5,一切都很好。

对我来说,解决方案是从.csproject文件中删除所有无关的<PropertyGroup>部分 - 除了第一个。

VS 2015只在其中一个(不是第一个)上将<TargetFramework>设置为4.5.1。

我有一个类似的问题。 结果是为目标框架4.5.1构建的DLL,但我工作的项目仅为4.5构建。 编译时有一些被禁止的警告信息。 当我显示编译警告时,那是告诉我发生了什么的提示。

我重新编译了框架4.5的DLL,然后自动复制DLL而无需对程序集进行额外的引用。

经过两天的痛苦,我创建了一个新项目,针对.NET 4.5,然后手动复制现有项目中的所有文件。 确保新项目编译。 删除旧项目。 将新项目移动到旧项目的目录中,以便我可以反向合并到主干。 任务完成。

我升级的项目是一个旧的WPF项目,在一个项目中有数千个(没有开玩笑)的XAML文件。 它还有MvvmLight(多年前)的发布预览版和Prism的旧版本以及一系列其他库。 所有和所有的项目都是一团糟,有人必须做一些非常愚蠢的事情才能使.NET 4.5成为目标。

就我而言,我正在处理为SharePoint 2010设计的项目。显然,项目模板限制了可以选择的.NET目标框架版本。

当我尝试编译SharePoint 2016服务器时,一旦我获得了2016年下载的beta模板,Visual Studio会在尝试再次打开解决方案时自动提示我升级这些项目。 希望这有助于某人。

可以在此处获取SharePoint 2016的预览位: https//www.microsoft.com/en-us/download/details.aspx?id = 49972

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM