【问题标题】:Same Assembly Version in multiple mixed .NET projects (same solution)多个混合 .NET 项目中的相同程序集版本(相同的解决方案)
【发布时间】:2018-07-19 10:16:39
【问题描述】:

我在解决方案中设置一个“共享”程序集信息时遇到问题。我需要一个地方来更改解决方案中每个项目的程序集版本(当前 > 25 个项目)。 问题是,该解决方案包含 C# 项目以及 VB.NET 项目 - 因此,我无法使用程序集版本创建一个文件(我不能在 VB.NET 项目中包含 C# 文件,反之亦然...... )

有什么办法可以解决这个问题吗?

【问题讨论】:

  • 这不是很简单,但您可以使用文本转换:准备一个带有相关设置和代码的 T4 模板,以便在预构建中生成 SharedAssemblyInfo.csSharedAssemblyInfo.vb
  • 目前,我认为这是最好的解决方案——我要试试这个。谢谢

标签: c# .net vb.net assemblyinfo


【解决方案1】:

您可以通过文件链接使用共享程序集信息。

这是 Ashish Jain 的一篇不错的文章: https://weblogs.asp.net/ashishnjain/sharing-assembly-version-across-projects-in-a-solution

如果 VB 项目不允许与 SharesAssemblyInfo.cs 链接,那么我们可以使用 SharedAssemblyInfo.vb 创建另一个库。

如果不希望重复,则可以在 C#/VB 中使用公共属性创建一个名为 SharedAssemblyInfo 的库。然后我们可以在它们各自的 AssemblyInfo.cs 文件中的 C# 和 VB 项目中引用这些公共属性

【讨论】:

  • 来自问题:"...解决方案包含 C# 项目以及 VB.NET 项目...我不能在 VB.NET 项目中包含 C# 文件,反之亦然..."
  • 可以创建一个 SharedAssemblyInfo.vb 和一个 SharedAssemblyInfo.cs。我们有重复,但至少减少了。
  • OP 知道这一点,他在问如何只有一个
  • 如果我不能将其缩减为仅一个文件,那么我只会在项目中增加另一个复杂性(年轻的开发人员必须知道他们必须编辑这两个文件 - 这不直观)跨度>
  • 如果不希望复制,则可以在 C#/VB 中使用公共属性创建一个名为 SharedAssemblyInfo 的库。然后我们可以在它们各自的 AssemblyInfo.cs 文件中的 C# 和 VB 项目中引用这些公共属性
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多