MSbuild 用于更新 assemblyinfo 文件

2024-04-18

我正在编写一个批处理文件来自动执行一系列任务。其中一项任务是通过编辑解决方案中各个项目中的 assemblyinfo.cs 文件来更新解决方案中的 dll 版本;然后最后调用 msbuild.exe 来编译解决方案。

在这方面,是否可以编写一个命令行脚本来更新我的.net解决方案中的各种 assemblyinfo.cs 文件。我更愿意从命令行本身调用 msbuild,而不是创建另一个 msbuild 脚本文件。

如何使用 MSBuild 做到这一点?还有其他方法吗?

谢谢你的时间...


如果没有其他工具的帮助,使用 dos cmd 批处理文件编辑文件是相当麻烦的。 您需要使用类似 for /f 命令的命令来单步执行这些行,然后处理每一行。例如,查找以“[ assembly: AssemblyVersion”开头的行 并用其他东西替换它。

但是,如果您的 AssemblyInfo.cs 中没有太多内容(请记住,如果需要,您可以将 AssemblyInfo.cs 拆分为多个 cs 文件),我建议您使用几个 echo 语句从头开始创建该文件。

如果您有其他可用工具(例如 sed.exe),则可以轻松完成编辑。

这些天我更喜欢使用一个简单的 powershell 脚本,它可以把它当作早餐,并让你在需要时可以访问 .Net 库。

这是它的模板形式:

(Get-Content AssemblyInfo.template.cs) -replace "{version}","1.2.3.4" > AssemblyInfo.cs

这是一个使用正则表达式来替换其中的任何版本号的表单:

$x = 'Version("{0}")' -f "1.2.3.4"
$content = Get-Content AssemblyInfo.cs
$content -replace 'Version\(".*"\)',$x > AssemblyInfo.cs
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MSbuild 用于更新 assemblyinfo 文件 的相关文章

  • Web.config appSettings:复杂值

    Web config 的 appSettings 部分只能存储这样的简单字符串吗
  • 在 .NET 4 下运行的 .NET 2 和 .NET 4 程序集有什么区别

    我维护一个 NET 2 0 库 最近它的用户开始要求 NET 4 版本 我可以在 Visual Studio 中复制现有项目 设置Target Framework to NET Framework 4 0并完成它 但是在 NET 4 下运行
  • 在 Visual Studio 2010 解决方案级别定位 .NET Framework 的特定版本

    我想在我的 Visual Studio 2010 解决方案中同时针对 NET 3 5 和 NET 4 0 我知道我可以设置
  • 使用AOP技术拦截ADO.Net

    我有相当大的代码库 使用各种不同的 ADO 技术 即一些 EF 在某些情况下直接使用 ADO Net 我想知道是否有任何方法可以全局拦截任何 ADO Net 调用 以便我可以开始审核信息 例如执行的确切 SQL 语句 花费的时间 返回的结果
  • 如何将当前应用程序域的程序集动态加载到c#项目中?

    我正在尝试加载第三方assemblies 动态地到项目并使用reflection创建其类型的实例 I used Assembly LoadFrom Assembly1 dll Assembly LoadFrom Assembly2 dll
  • 从异步方法同步调用 CPU 密集型方法的混乱

    我正在尝试 NET 4 5 的 async await 结构 我正在开发 RESTful Web API 解决方案 我试图弄清楚如何处理 CPU 绑定操作 1 从当前线程同步调用它 或 2 使用Task Run 让我们使用这个例子page
  • 添加到 .NET 任务栏中的右键单击应用程序菜单

    大多数应用程序只有 恢复 移动 调整大小 最小化 最大化和关闭 但是MS SQL提供了额外的选项 帮助 自定义视图 按照这些思路 是否可以添加到任务栏中应用程序的右键单击菜单 注 我是not指通知区域中时钟旁边的图标 这是一个更简单的ans
  • RichTextbox SelectionStart 返回错误的索引

    我需要向用户显示光标上文本的选择开始和长度 就像在 notepad exe 中一样 选择长度没有问题 因为 Richtextbox 支持带有开始和结束的选择属性 http msdn microsoft com en us library s
  • 带有嵌入 Flash 视频的 PDF 示例?

    有谁知道我在哪里可以查看嵌入 Flash 视频的 PDF 示例 我知道问这个问题很愚蠢 因为你会认为任何面向技术的用户都应该能够使用谷歌找到一个 但我真的找不到 我的另一个问题是 使用 C 中的 API 将 Flash 视频嵌入 PDF 文
  • 通过命令行参数更改默认的 ant 目标

    最近我被分配了一个任务 让ant能够为不同的环境构建war包 除了一项功能外 我几乎完成了 蚂蚁接受一个env参数类似 Denv DEV 并使用不同的配置文件来制作war包 但默认目标是start它将构建 部署并启动 tomcat 我不希望
  • 从 AuthorizeAttribute 继承的属性不起作用

    我目前正在尝试根据用户角色在新的 ASP MVC 5 应用程序中实现安全性 目标是防止用户在没有特定角色 或更高角色 的情况下访问某些控制器或控制器方法 根据到目前为止我所读到的问题 我创建了一个继承 AuthorizeAttribute
  • 调用泛型类的方法

    这是上下文 我尝试编写一个映射器来动态地将域模型对象转换为 ViewModel 对象 我遇到的问题是 当我尝试通过反射调用泛型类的方法时 出现此错误 System InvalidOperationException 无法对 Contains
  • 该进程无法访问该文件,因为该文件正在被另一个进程使用

    当我从 bat 文件启动 net 控制台应用程序时 例如start myapp exe 然后 myapp exe 尝试将文件写入其当前目录 尽管我收到 net 运行时错误 声称该文件正在被另一个应用程序使用 没有其他应用程序在运行 http
  • 使用 TCP 时是否需要使用校验和来保护我的消息?

    使用 TCP 作为网络协议 在通过线路发送消息之前 我会为每条消息的大小 以及可能的校验和 添加前缀 我想知道 计算和传输消息的校验和是否有意义 以确保消息将被不变地传递 如果以及何时传递 例如因为一些网络错误 目前 我在发送消息本身之前发
  • 有没有办法让 ValidationSummary 与客户端验证器一起使用?

    NET ValidationSummary 控件聚合来自回发时触发的验证器的错误消息 有没有某种方法可以让它也显示来自客户端验证器的错误消息 我正在解决的问题是 在长页面上 可能会单击提交按钮 导致某些客户端验证器失败 但永远不会看到错误消
  • 在Python3.6中调用C#代码

    由于完全不了解 C 编码 我希望在我的 python 代码中调用 C 函数 我知道有很多关于同一问题的问答 但由于一些奇怪的原因 我无法从示例 python 模块导入简单的 c 类库 以下是我所做的事情 C 类库设置 我使用的是 VS 20
  • 无法转换类型为“NHibernate.Collection.Generic.PersistentGenericBag”的对象

    public List
  • ROWNUM 的 OracleType 是什么

    我试图参数化所有现有的 sql 但以下代码给了我一个问题 command CommandText String Format SELECT FROM 0 WHERE ROWNUM lt maxRecords command CommandT
  • 使用 Google Analytics API 在 C# 中显示信息

    我一整天都在寻找一个好的解决方案 但谷歌发展得太快了 我找不到有效的解决方案 我想做的是 我有一个 Web 应用程序 它有一个管理部分 用户需要登录才能查看信息 在本节中 我想显示来自 GA 的一些数据 例如某些特定网址的综合浏览量 因为我
  • 编译的表达式树会泄漏吗?

    根据我的理解 JIT 代码在程序运行时永远不会从内存中释放 这是否意味着重复调用 Compile 表达式树上会泄漏内存吗 这意味着仅在静态构造函数中编译表达式树或以其他方式缓存它们 这可能不那么简单 正确的 他们可能是GCed Lambda

随机推荐

  • 检测 YouTube 视频何时播放完毕

    如何在官方 YouTube Android 应用程序中检查 YouTube 视频何时播放完毕 在 LogCat 中 我看到以下内容 VideoStage MEDIA PLAYING VIDEO 有什么方法可以检测到什么时候完成吗 你可以使用
  • 最高序数枚举值

    我正在寻找从 bean 列表中的枚举属性列表计算最高序数枚举值 例如 我有 Data public class MyBean private Priority priority and public enum Priority URGENT
  • python字典日期时间作为键,keyError

    我正在尝试在 Linux 中使用 cron 运行 Python 脚本 它应该构建一个数据字典 我正在尝试使用datetime now time 作为字典中的键 但它似乎会引发错误 不可以datetimetype 可以用作Python 中的字
  • 在 ASP.NET MVC ViewModel 中存储模型 ID,安全问题

    在我的 MVC 应用程序中 我有一个页面供用户编辑其帐户详细信息 例如电子邮件地址 密码等 在我的数据库中 用户表保存此数据 主键是 UserId 在我创建的 ChangeAccountDetails 视图上 我传递了一个 ViewMode
  • delphi 文本矩形 自动换行

    我在 Delphi 7 中使用 Canvas TextRect 在屏幕上输出一些内容 我需要将文本包裹在矩形中 您需要使用带有 DT WORDBREAK 标志的 DrawText 或 DrawTextEx 请参阅中的示例
  • 为什么 Rails 将 TEXT 列截断为 65535 个字符?

    我正在使用 Ruby on Rails 将原始电子邮件保存在 MySQL 的 TEXT 列中 它不断被截断为 65535 个字符 有人知道是什么原因造成的吗 MySQL 正在运行max allowed packet 64M 使用InnoDB
  • Access 中的 Sqlite 链接表再次给出 #deleted 值

    情况 MS Access 恰好是 2010 年 使用 SQLite ODBC 驱动程序 0 997 链接到 SQLite 3 x 数据库中的表 问题 所有行中所有列中的数据值显示为 Deleted 解决方案 这是一个 回答我自己的问题 类型
  • VS Code SSH 远程连接问题

    过去一个月 我一直在使用 VS Code 并在 MacBookPro 上从家里远程连接来处理一个大学项目 但由于某种原因 它不再连接到计算机实验室服务器 不知道为什么会发生这种情况 但它今天停止工作了 我尝试重新安装 vs code 并将其
  • 是否可以在不打开 CSV 文件的情况下获取其行数?

    我有一个大小约为 1 GB 的 CSV 文件 由于我的笔记本电脑配置基本 我无法在 Excel 或 R 中打开该文件 但出于好奇 我想获取该文件中的行数文件 如果我能做到的话 我该怎么做呢 对于 Linux Unix wc l filena
  • 导致 SAXException2 的原因:“com.foo.Bar”的实例正在替换“java.lang.Object”,但“com.foo.Bar”绑定到匿名类型[重复]

    这个问题在这里已经有答案了 将现有 jaxb 同时使用 jaxb1 0 1 和 jaxb 2 0 5 应用程序 在带有 jdk5 的 JBoss 4 3 上 迁移到 jaxb 2 1 10 随 jdk6 提供 更新 jdk1 6 0 30
  • 对于单个开发人员来说,在云中存储 Mylyn 任务的最佳连接器是什么?

    我想使用 Mylyn 以任务为中心的用户界面 但我经常在两台电脑之间工作 并且不想购买任何错误跟踪软件 有人可以推荐一个适合我的情况或其他更适合的工作流程的 Mylyn 连接器吗 我可以推荐你使用福格林连接器 http www foglyn
  • 带测试的 Java 代码 - 无限循环?

    我尝试去了解人与人之间的关系 但是 当我运行单元测试时 测试会永远运行 没有得到结果 而且我的 CPU 使用率很高 有人能看出我的代码有什么问题吗 字符串关系是字符串的多行输入 格式为 A B C D where A是的父级B and C是
  • 可以处理超过 5 亿行的数据库

    我正在寻找一个可以处理的数据库 在合理的时间内在列上创建索引并提供结果选择查询在不到 3 秒的时间内 超过 5 亿行 低端机器 Core 2 CPU 6600 4GB 64 位系统 Windows VISTA 上的 Postgresql 或
  • PacketTunnelProvider 网络扩展不称为 Swift 3

    我正在尝试将 PacketTunnerProvider 网络扩展添加到我的项目中 方法 startTunnelWithOptions options String NSObject completionHandler NSError gt
  • React Router v4 基本名称和自定义历史记录

    我想为我的路由分配一个基本名称 我可以使用 BrowserRouter 来实现 不过 我还想指定自定义历史记录 以便我可以以编程方式导航我的用户 我可以用路由器做到这一点 然而我不能两者都做 是否可以扩展其中一个路由器以支持此功能或围绕其包
  • 找到正确的正则表达式

    我正在尝试为这种情况找到正确的正则表达式 1 1 0 我需要版本之间的前缀和后缀 可以是一切 字母 数字或什么都没有 我拥有的 static check version string return d d d test version 感谢
  • 仅当上一步已运行时才运行 GitHub Actions 步骤

    我已经在 GitHub actions 中设置了一个工作流程来运行我的测试并创建测试覆盖率的工件 我的 YAML 文件的精简版本如下所示 name Build on pull request jobs build runs on ubunt
  • 使用“r+”模式用相同长度的另一行覆盖文件中的一行

    我有一个名为vegetables carrots苹果 黄瓜 我想要做的是在 python 中打开文件 并就地修改它 而不覆盖文件的大部分 具体来说 我想覆盖apples with lettuce 这样该文件将如下所示 carrots莴苣黄瓜
  • 您能否从 YouTube Live Streaming API 获取环聊直播加入 URL?

    As the Google Hangouts API 已关闭 https developers google com hangouts support faq 我该如何使用YouTube 直播 API https developers go
  • MSbuild 用于更新 assemblyinfo 文件

    我正在编写一个批处理文件来自动执行一系列任务 其中一项任务是通过编辑解决方案中各个项目中的 assemblyinfo cs 文件来更新解决方案中的 dll 版本 然后最后调用 msbuild exe 来编译解决方案 在这方面 是否可以编写一