0

我正在使用链接的 AssemblyInfo.cs 文件为我的所有类库设置 AssemblyFileVersion。

[assembly: AssemblyFileVersion("6.60.3.4")]

我将本地/默认 AssemblyInfo.cs 文件用于其他所有内容。

//example of AssemblyVersion set in project AssemblyInfo.cs    
[assembly: AssemblyVersion("6.60.3.1")]

我的结果是 AssemblyFileVersion 和 AssemblyVersion 都设置为 AssemblyFileVersion 值。

如何为我的每个项目程序集维护一个共享的 AssemblyFileVersion 和单独的 AssemblyVersions?

编辑

我的印象是我可以/应该使用 AssemblyFileVersion 来跟踪我项目中所有 dll 程序集的发布版本。我们的想法是让 exe 和 dll 都具有相同的 AssemblyFileVersion。仅当对该特定 dll 进行修改时,AssemblyVersion 才会增加。这个逻辑对我来说很有意义。请告知是否有更合乎逻辑的方法来处理大型项目

4

3 回答 3

1

以下帖子,AssemblyVersion、AssemblyFileVersion 和 AssemblyInformationalVersion 有什么区别?, 建议您反其道而行之。

这个答案提供了一个可以适应您的需求的实现。

于 2013-01-14T04:00:57.370 回答
0

据我所知,没有简单的解决方案。我认为最简单的解决方案是首先单独构建您的类库,然后让其他构建依赖于此。一般来说,试图操纵 AssemblyInfo 文件中的值是徒劳的。

你可以模仿像 TeamCity 这样的系统。他们通过提取所有源代码,然后在实际构建之前使用 Web UI 中提供的版本号编辑 AssemblyInfo 文件来做到这一点。

于 2013-01-11T20:26:09.250 回答
-1

我的问题是正确的,但我想知道我是否被误导了一点。我正在使用 Windows 文件属性对话框来确认我的 ProductVersion 和 FileVersion 设置是否正确。

我将以下内容添加到我的共享 AssemblyInfo.cs 文件中,它开始按预期工作。

[assembly: AssemblyVersion("6.60.0.0")]    
[assembly: AssemblyInformationalVersion("6.60.0.0")]

任何想法为什么这会更新 AssemblyVersion 而不仅仅是这个

[assembly: AssemblyVersion("6.60.0.0")]
于 2013-01-15T17:26:43.123 回答