当解决方案包含框架和核心项目时,Directory.Build.props 不起作用

Posted

技术标签:

【中文标题】当解决方案包含框架和核心项目时,Directory.Build.props 不起作用【英文标题】:Directory.Build.props not working when solution contains Framework and Core projects 【发布时间】:2019-05-29 09:13:42 【问题描述】:

我希望解决方案中的所有项目共享相同的版本号。如果我在解决方案的根目录添加一个 Directory.Build.props 文件,它会按预期将该文件复制到每个项目。虽然所有项目都可以正常构建,但我在核心项目上收到“发布”错误。它说:

无法加载 Directory.Build.props。 '',十六进制值 0x1A,是无效字符。第 5 行,位置 11

第 5 行,位置 11 是文件的结尾。

我相信这是文件结束标记。但是,如果我在 Core 项目的根目录中创建相同的 Directory.Build.props 文件,那就没问题了。问题是我创建文件的“位置”。

所有其他项目(框架 4.7.1)都可以使用在解决方案的根目录中创建的 Directory.Build.props 文件正常发布。

我知道我可以更改解决方案的文件夹结构,以便核心项目位于一个文件夹中,而框架项目位于另一个文件夹中。然后为每个“类型”的项目创建一个单独的 Directory.Build.props 文件,但这很麻烦。有解决办法吗?

【问题讨论】:

【参考方案1】:

为什么不将版本属性放在一个文件中,例如Version.cs,并使用“添加现有项目...”窗口中的“添加为链接”下拉选项引用该文件?这样你就只有一个文件中的版本

【讨论】:

以上是关于当解决方案包含框架和核心项目时,Directory.Build.props 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

当用户改变当前位置时,核心位置框架的哪个函数被调用?

从框架项目进行单元测试时应用程序崩溃

QT包含opencv时-- No such file or directory解决办法

Pycharm 报错 Environment location directory is not empty 解决

“使用核心数据进行存储”复选框

将一个快速的大项目拆分为具有核心框架和模块框架的框架