Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在一个地方更改解决方案中所有项目的C语言版本?_C#_Visual Studio_Visual Studio 2017 - Fatal编程技术网

C# 如何在一个地方更改解决方案中所有项目的C语言版本?

C# 如何在一个地方更改解决方案中所有项目的C语言版本?,c#,visual-studio,visual-studio-2017,C#,Visual Studio,Visual Studio 2017,我有一个20个项目的解决方案,我想把所有项目的C版本都改为C 7.3 有没有一种方法可以让我一次性更改所有项目的版本?我知道我可以从项目的属性更改语言版本,但我不想重复20次 要立即为所有项目设置版本,可以在存储库的根目录下创建名为Directory.Build.props(Linux上区分大小写)的文件。此文件包含项目的常用属性列表: 最新的 公认的答案很好,我只是补充一些细节 我在存储库的根目录下创建了Directory.Build.props文件,并将其作为解决方案项添加到解决方案中。

我有一个20个项目的解决方案,我想把所有项目的C版本都改为C 7.3

有没有一种方法可以让我一次性更改所有项目的版本?我知道我可以从项目的属性更改语言版本,但我不想重复20次


要立即为所有项目设置版本,可以在存储库的根目录下创建名为
Directory.Build.props
(Linux上区分大小写)的文件。此文件包含项目的常用属性列表:


最新的

公认的答案很好,我只是补充一些细节

我在存储库的根目录下创建了
Directory.Build.props
文件,并将其作为解决方案项添加到解决方案中。这是文件的内容:

<Project>
  <PropertyGroup>
    <LangVersion>7.3</LangVersion>
    <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
  </PropertyGroup>
</Project>

此处,
15.0
表示您的MSBuild版本,请查看您是否需要升级MSBuild版本。

感谢您的博客。是否可以使用特定的版本,例如:
7.2
?当然,您可以指定所需的版本,例如7.3。不幸的是,intellisense无法与
目录.Build.props
方法配合使用。它在我的解决方案文件中显示了很多错误。希望我能找到解决方案。显然,在旧SDK项目中,您可能需要
ToolsVersion=“16.0”
。如果可能的话,你也可以将你的Visual Studio升级到2019年,在那里你可以根据自己的需要设置。我建议更改一个项目,并将更改后的项目与原来的项目进行比较。然后可以在文件中执行查找和替换以替换所有其他文件。记事本++有一个在文件中查找和替换的选项。请注意,较新版本的Visual Studio不允许您通过此UI指定语言版本。语言版本根据目标框架确定。您仍然可以在项目文件中使用
LangLevel
覆盖该选项,如下面的答案所示。
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">