16

我在一个大型解决方案中有几个项目不会转换为 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 并且都做同样的事情。

4

5 回答 5

10

希望这对其他人有帮助:

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

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

于 2014-07-15T20:58:06.343 回答
2

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

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

于 2015-10-08T17:29:21.850 回答
1

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

我正在升级的项目是一个旧的 WPF 项目,在一个项目中包含数千个(不是开玩笑的)XAML 文件。它还有 MvvmLight(多年前)的发布预览版和旧版本的 Prism 以及一系列其他库。整个项目都是一团糟,一定有人做了一些非常愚蠢的事情来使针对 .NET 4.5 的目标变得如此困难。

于 2015-03-17T09:31:43.033 回答
1

我有一个类似的问题。结果发现这些 DLL 是为目标框架 4.5.1 构建的,但我正在从事的项目仅针对 4.5 构建。当我编译时,有一些被抑制的警告信息。当我显示编译警告时,这就是告诉我发生了什么的提示。

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

于 2016-03-16T17:25:40.517 回答
0

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

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

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

于 2016-06-27T21:12:33.067 回答