- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要读取 dll 的 AssemblyFileVersion
而不仅仅是 Version
。我尝试过:
<Target Name="RetrieveIdentities">
<GetAssemblyIdentity AssemblyFiles="some.dll">
<Output
TaskParameter="Assemblies"
ItemName="MyAssemblyIdentities"/>
</GetAssemblyIdentity>
<Message Text="%(MyAssemblyIdentities.FileVersion)" />
</Target>
脚本运行但不输出任何内容。如果我将 FileVersion
更改为 Version
,它会正确输出 AssemblyVersion
。如何使用我的脚本获取 AssemblyFileVersion
?
最佳答案
借用this answer ,我能够创建自定义 MSBuild 任务:
<UsingTask
TaskName="GetFileVersion"
TaskFactory="CodeTaskFactory"
AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
<ParameterGroup>
<AssemblyPath ParameterType="System.String" Required="true" />
<Version ParameterType="System.String" Output="true" />
</ParameterGroup>
<Task>
<Using Namespace="System.Diagnostics" />
<Code Type="Fragment" Language="cs">
<![CDATA[
Log.LogMessage("Getting version details of assembly at: " + this.AssemblyPath, MessageImportance.High);
this.Version = FileVersionInfo.GetVersionInfo(this.AssemblyPath).FileVersion;
]]>
</Code>
</Task>
</UsingTask>
然后从目标内部消耗它:
<GetFileVersion AssemblyPath="some.dll">
<Output TaskParameter="Version" PropertyName="MyAssemblyFileVersion" />
</GetFileVersion>
<Message Text="File version is $(MyAssemblyFileVersion)" />
关于msbuild任务读取dll的AssemblyFileVersion,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7265690/
我在使 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
我是一名优秀的程序员,十分优秀!