7

我的解决方案中有三个项目:一个基础项目,以及一个引用基础的客户端和服务器。

我想做的是能够设置基础项目文件的程序集版本,并让它自动传播到服务器和客户端,这样它们的版本总是匹配的。理想情况下,这将是同步它们的预构建步骤。

有谁知道这是否可能或我将如何去做?

4

2 回答 2

8

我们所做的与 Chris 的回答非常相似:

我们有一个名为 的项目ProductVersion,其中“Product”实际上是产品名称。里面是一个名为的静态类VersionInformation,其中包含常量字符串,其中包括一个名为的字符串ProductVersion,这是我们实际设置版本信息的地方。

然后在每个项目的AssemblyInfo.cs文件中,我们的AssemblyVersion行如下所示:

[assembly: AssemblyVersion(Company.Product.VersionInformation.ProductVersion)]

在您的情况下,由于客户端和服务器都引用了基础项目,您可以在基础项目中包含类似的内容,而不是创建单独的项目。

于 2013-04-09T15:14:14.877 回答
6

将版本信息移动到解决方案根目录中的单独文件(例如 AssemblyVersion.cs)中。然后从每个项目的 AssemblyInfo.cs 文件中删除版本信息,并将共享的 AssemblyVersion 文件作为链接添加到每个项目中。

  1. 右键单击项目,单击添加现有项
  2. 浏览到共享文件,单击添加按钮上的小箭头并选择添加为链接
  3. 将生成的文件拖到每个项目中的 Properties 文件夹中。
  4. ???
  5. 利润!
于 2013-04-09T15:05:31.150 回答