2

在 VS 2017 中,或者更准确地说,在 VS 2017 中使用的旧项目格式中,每个项目都有一个“属性”文件夹,AssemblyInfo.cs其中包含一个包含项目版本、版权等内容的文件。

如果您想在多个项目之间共享一些信息,比如特定解决方案中的所有项目,您创建一个AssemblyInfo_Shared.cs文件,将共享属性移入其中,将它们从原始AssemblyInfo.cs文件中删除,然后您将共享版本“链接”到每个单独的项目。

现在,当您构建时,其中的信息AssemblyInfo_Shared.cs将在所有项目之间共享,而项目特定的值将保留在原始AssemblyInfo.cs文件中。

但是,在新的项目格式中,这些值都嵌入到项目文件中,现在是一个简单的 XML 文件。您现在如何在项目之间共享设置?

4

1 回答 1

0

项目文件中的属性(甚至项目)由 MSBuild 处理,并且可以轻松地重构为在项目之间共享.props.targets文件。

使用新的项目文件格式,MSBuild 将自动导入Directory.Build.props在项目开头和Directory.Build.targets结尾命名的文件 - 这包括搜索文件夹树,直到找到其中一个。有了这个,在您的解决方案中的所有项目之间共享属性非常容易:只需Directory.Build.props在解决方案文件夹中使用您的版本属性创建一个文件,每个项目都将共享这些属性。

于 2019-06-09T18:22:19.203 回答