为什么C#控制台项目忽略Directory.build.props

时间:2019-05-23 08:15:27

标签: c# .net-core msbuild

我想包含Directory.build.props文件,因为我想在一个地方更改所有项目的版本。

如果我使用Visual Studio生成解决方案,则Director.build.props文件中的属性将正确嵌入到生成的exe文件中。 如果我使用 dotnet build 命令,则exe文件没有嵌入所需的属性。我观察到的是,dll文件也具有使用CLI命令嵌入的正确属性。使用Visual Studio。

Directory.build.props文件位于解决方案的根目录(我尝试将其置于项目的根目录,并且发生了同样的事情)。 这是我正在使用的Directory.build.props文件

<Project>
  <PropertyGroup>
    <Company>Company</Company>
    <Copyright>Copyright</Copyright>
    <Version>1.0.0</Version>
    <AssemblyVersion>1.0.0</AssemblyVersion>
    <FileVersion>1.0.0</FileVersion>    
  </PropertyGroup>
</Project>

我想知道是否缺少某些配置,为什么dll文件成功嵌入了带有属性的dll,而exe文件却没有?

2 个答案:

答案 0 :(得分:1)

信用归@Martin Ullrich所有,但在* nix上,该文件确实应称为Directory.Build.props(适当的大小写),否则将被忽略。

答案 1 :(得分:0)

3.0 SDK支持在apphost可执行文件上设置属性。确保至少安装了3.0.100 SDK(我已测试.NET Core 3.0 Preview 5)。