- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我们在单独的属性文件中有 AssemblyVersion
和 AssemblyFileVersion
属性。这是因为它们在所有项目之间“链接”并由构建服务器更新。我们不想在每次构建或发布后都手动更新版本。
AssemblyInfo.cs
:
[assembly: AssemblyTitle("MyProductTitle")]
[assembly: AssemblyCulture("")]
[assembly: Guid("579eb194-08f1-44fc-9422-21aaf6cb2963")]
AssemblyVersionInfo.cs
:
[assembly: AssemblyFileVersion("0.0.14056.19")]
[assembly: AssemblyVersion("0.0.0.0")]
问题是我们的构建服务器针对每个项目发出以下警告:
CA1016 : Microsoft.Design : Add an AssemblyVersion attribute to 'MyProduct.dll'.
在本地构建项目时,bin 中的实际 DLL 文件应用了所有版本号(文件属性对话框):
在 Visual Studio 中查看项目属性时,在程序集信息中未检测到版本信息:
我的猜测是,这是由于 AssemblyVersion
和 AssemblyFileVersion
不在 AssemblyInfo.cs
中。
有什么方法可以“包含”自定义 AssemblyVersionInfo.cs
文件吗?
最佳答案
不止一件事在这里出错:
对话框非常空,因为它严格查看 AssemblyInfo.cs 文件的属性。如果您输入版本号,会将它们写入该文件。使用单独的文件不是一个好主意。
Windows“详细信息”属性表与 .NET 无关,它仅显示文件中非托管 版本资源的内容。这仅与 C# 源代码中的属性间接相关,C# 编译器会根据属性自动生成非托管版本资源。遗憾的是,这个对话框中没有显示 super 重要的 [AssemblyVersion] 编号,XP 是最后一个仍然可以显示它的 Windows 版本。
您可能获得了 CA1016,因为您将版本号保留为 0。
Windows 不显示 [AssemblyVersion] 不是跳过该属性的好理由。如果在属性表中看到它对您很重要,那么只需使 [AssemblyFileVersion] 与 [AssemblyVersion] 相同即可。请记住它的用途,如果您更改 [AssemblyVersion],则需要重新编译引用该程序集的所有项目。
Microsoft 的 Windows 和 DevDiv 组之间有过不愉快的历史,我不想深入了解它的细节。我们只是说 Windows 非常 不适应 .NET。我们有责任解决这个问题。
关于c# - AssemblyVersion 和 AssemblyFileVersion 在一个单独的文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22247624/
我在使 AssemblyVersion 与我正在处理的类库中的 AssemblyFileVersion 属性不同时遇到问题。 所以,我尝试创建一个空的(除了 Class1.cs)类库来查看它是否是某处
如何在我的日志中打印正在运行的程序的版本?换句话说,我可以使用 Console.WriteLine 访问 AssemblyFileVersion 吗? 谢谢托尼 最佳答案 看起来像这样的东西会起作用:
我正在编写一个程序,我正在尝试显示程序集FILE 版本 public static string Version { get {
编译后,如何读取 .csproj 中的 AssemblyFileVersion 或其组件 AssemblyFileMajorVersion、AssemblyFileMinorVersion、Assem
我们有一个基于批处理的构建过程,并且我们仅使用 MSBuild 从 Visual Studio 编译我们的项目文件。我们还将 wix 集成到我们的构建过程中。为了设置软件的版本,我们在主构建脚本中指定
我的 nant 构建完成后,我想使用附加到项目 .csproj 文件末尾(在 Project 元素内)的构建后命令重命名生成的 .exe 文件: 正如您在上面看到的,我试图将可执行文件重命名
我们在单独的属性文件中有 AssemblyVersion 和 AssemblyFileVersion 属性。这是因为它们在所有项目之间“链接”并由构建服务器更新。我们不想在每次构建或发布后都手动更新版
在 assemblyInfo.cs 中,我有 AssemblyVersion 和 AssemblyFileVersion。 通常我只是像这样递增 AssemblyVersion。第一个数字:重大变化第
共有三个程序集版本属性。有哪些差异?如果我使用 AssemblyVersion 并忽略其余部分可以吗? MSDN 说: AssemblyVersion : Specifies the version
我一直在使用代码 similar to this 阅读 AssemblyFileVersion但由于安全限制,不能再使用 Assembly.GetExecutingAssembly(或 Assembl
在设置创建过程中,我计划执行以下操作(在 C# Script 内): 读取一个 DLL 的 AssemblyVersion 和 AssemblyFileVersion 属性值。 迭代项目中的所有 DL
好的,我知道这可能不是传统的,但除此之外:我使用 AssemblyFileVersion 作为我的“构建名称”字符串。它的格式如下: ' File Version information for an
我继承了一个 VB.Net 代码库,它是 VB 2005 并升级到 VB 2008,包含大约 100 个项目 我正在尝试重新版本所有组件,但发现某些 AssemblyInfo.vb 文件具有 Asse
Properties\AssemblyInfo.cs(41,12):错误 CS0246:找不到类型或命名空间名称“AssemblyFileVersion”。 我在使用 TFS 构建代理时遇到此错误,但
我正在使用 TeamCity 构建一个包含许多组件的大型解决方案,但其中许多组件可能会被单独构建的 DLL 引用(即不是由 TeamCity 构建) 这意味着如果我使用 AssemblyInfo Pa
我是一名优秀的程序员,十分优秀!