在 MSBuild 中使用 Studio 的“自定义工具”

2023-12-24

我有一个 Visual Studio 的“自定义工具”,可以将一些模板文件合并到代码中。为了一致性和可移植性,我希望在 Visual Studio 之外构建时能够从 MSBuild 运行此模板处理器。

Visual Studio 为文件创建以下片段:

<!-- the template -->
<None Include="Template.in">
  <Generator>Template Processor</Generator>
  <LastGenOutput>Template.in.Designer.cs</LastGenOutput>
</None>
<!-- generated file -->
<Compile Include="Template.in.Designer.cs">
  <AutoGen>True</AutoGen>
  <DesignTime>True</DesignTime>
  <DependentUpon>Template.in</DependentUpon>
</Compile>

这里的问题是Template.in仅由Studio处理,而不由MsBuild处理,这可能会导致过时Designer.cs files.

是否存在可以使用的现有 MSBuild 任务IVsSingleFileGenerator直接(包括从注册表加载其位置)还是必须手动调用处理器(通过自己实现所述 MSBuild 任务或调整处理器)?

有趣的是,使用 MSBuild http://msdn.microsoft.com/en-us/library/bb166190.aspxMSDN 上的文章说:

可以访问单个文件生成器 仅在设计时,但 MSBuild 任务 可以在设计时使用 构建时间。为了获得最大的灵活性, 因此,使用 MSBuild 任务 转换并生成代码。了解更多 信息,请参阅项目项(视觉 工作室 SDK)。


Update:我已经将这个特定的自定义工具侵入到 msbuild 任务中,但它并不漂亮。我仍然更喜欢维护良好的通用解决方案。我有发布了来源 https://web.archive.org/web/20100905141112/http://dasz.at/index.php/2010/02/building-a-simple-msbuild-task/在我的博客上。


当您在 VisualStudio 中指定自定义工具时,它会向您的项目或解决方案文件添加什么?由于它们只是 msbuild 文件,因此您可以使用添加的 xml 作为您自己的构建文件的模板。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 MSBuild 中使用 Studio 的“自定义工具” 的相关文章

  • 看起来 MSVS 11.0 Beta 破坏了 MSVS 10.0 安装

    安装 MSVS 11Beta 后 我的 MSVS 10 遇到了编译问题 现在 当我在 MSVS 10 中编译 C 项目 在 MSVS 10 中创建的项目 目标框架 3 5 时 出现错误MSB4216 MSB4028输出窗口中包含以下文本 1
  • MSBuild 中 ProjectReference 的配置

    是否可以在 MSBuild 中设置 ProjectReference 的配置 设想 我有一个构建脚本 网络部署 它有许多配置 其中唯一的区别与它们的部署方式有关 而不是其自身的构建方式 我不想维护作为部署过程的一部分构建的解决方案 项目的配
  • matplotlib pyplot 不在 Visual Studio 中绘图?

    我使用的是 VS 2013 Express 版本 安装了 python 工具和 canopy python 2 7 当我运行代码时 我试图绘制一个简单的函数 但它不起作用 import numpy as np import matplotl
  • 使用 SpreadsheetLight 进行行计数

    我正在寻找一个类似于 DataTable Rows Count 的函数 它可以与 SLDocument 一起使用来找出有多少行中有数据 SpreadsheetLight 中有可用的东西吗 还有其他方法可以实现这一目标吗 Brendan SL
  • 通过开源 PCL 使用 API 查看 3D 点云

    我使用 ToF 飞行时间 相机来获取 XYZ 格式的深度数据 为了实现 3D 点云的可视化目的 我想使用开源 PCL 提供的 API 网址为http pointclouds org documentation tutorials pcl v
  • Visual Studio 2019 在哪里可以找到 .net core 3.1 的 WebAssembly 模板

    我正在使用最新的 16 4 2 日期为 2020 年 1 月 8 日 Visual Studio 2019 当我尝试创建 Blazor WebAssembly 解决方案时 尽管 blazor 应用程序 的描述包含 服务器或 WebAssem
  • .NET 4.0 构建服务器引用程序集警告 MSB3644 [重复]

    这个问题在这里已经有答案了 我的构建服务器上出现了一堆错误 C WINDOWS Microsoft NET Framework v4 0 30319 Microsoft Common targets 847 9 警告MSB3644 找不到框
  • 如何从编译中排除 ASP.NET 网站代码隐藏文件?

    我正在重构一堆 ASP NET 页面 我想编译并测试我已经完成的那些 但是 Visual Studio 不允许我在非重构页面上运行存在编译错误的网站 如何暂时排除它们而不将它们从项目本身中删除 您可以通过某种配置来做到这一点吗 在 Visu
  • 在全球范围内压制 StyleCop 警告

    如何在解决方案中全局抑制 StyleCop 警告 该解决方案是使用 Jenkins 持续构建和集成工具 持续构建的 并且应用了所有 StyleCop 规则 该解决方案使用 TAB 字符而不是 4 个空格 因为这是我的开发团队采用的标准 因此
  • Visual Studio '17 未在参考管理器中显示程序集

    我遇到的问题是 我似乎无法弄清楚如何添加对某些解决方案的引用 在我从 Visual Studio 17 开始的大多数解决方案中 我在解决方案资源管理器中看到 引用 但例如对于 asp net core web api 我得到 依赖项 每当解
  • Visual Studio 2015 EDMX 模型浏览器和图表丢失

    我最近更新到 Visual Studio 2015 打开我的解决方案并运行 直到我决定将一个实体添加到我的 edmx 中 因此 我双击 edmx 文件来打开图表 或者至少是模型浏览器 但它只打开一个 XML 页面 我检查了安装程序中任何丢失
  • Msbuild Windows 商店应用程序(地铁)

    我使用 nugget 和 Hudson 将我们的库部署到我们的企业中以供重用 我们最近开始开发 Windows 应用商店应用程序 以前称为 Metro 应用程序 Hudson 在 Windows Server 2008 机器上运行 我需要安
  • 在 Visual Studio Community 2019 中生成包含文件的图表

    我想使用 Visual Studio 2019 Community 在我的 C 项目中 生成包含文件的图表 但是当我右键单击时 该选项不会出现 尽管在另一台 PC 上使用 Visual Studio 2017 出现 使用同一项目 今年他们把
  • 最新 Xamarin Visual Studio 2017 中缺少模板

    我想开始跨移动应用程序开发 因为我听说如果您擅长 C Xamarin 是一个很好的框架 因此 我下载了安装了 Xamarin 模块的最新 Visual Studio 2017 为了学习 我获得了 Xamarin 的 Udemy 课程和它是最
  • Visual Studio 2008 类图设计器

    我正在使用 VS 类图设计器 如何得到下图中的蓝线 谢谢 source microsoft com https msdn microsoft com en us library Aa288743 clssdsgnr fig01big 28e
  • 如何使用 std::string 创建条件断点

    假设我有这个功能 std string Func1 std string myString do some string processing std string newString Func2 myString return newSt
  • 无法使用 IIS Express 在 VS2017 中加载文件或程序集

    我们公司有一个 ASP NET 项目 为 5 6 的开发人员运行 所有 Visual Studio 2017 和 IIS Express 上的调试 没有疯狂的设置或任何让它运行的东西 1 位同事无法使其正常工作 他总是遇到以下异常 几个月前
  • 在运行时设置强类型数据集连接字符串的最佳方法?

    我的 Windows 窗体应用程序使用使用 Visual Studio 中的设计器创建的强类型数据集 在运行时 我希望能够选择实时数据库或测试数据库 在运行时以编程方式设置数据集连接字符串的最佳方法是什么 TableAdapters 中的连
  • VS2010:如何在解决方案资源管理器中删除/隐藏“外部依赖项”文件夹

    在 VS2010 中 他们向所有项目添加了一个名为 外部依赖项 的虚拟目录 替代文本 http koper wowpanda net externaldeps PNG http koper wowpanda net externaldeps
  • 主动解决方案平台 VS 项目平台 VS 目标平台

    我希望我的应用程序是针对 x64 构建的 因为我使用的是 x64 dll 在配置管理器中 我已将 活动解决方案平台 设置为 x64 但是在项目列表中平台设置为 x86 项目属性中的 平台目标 也设置为 x86 我完全困惑有三个地方可以设置目

随机推荐

  • 快速 (< n^2) 聚类算法

    我有 100 万个 5 维点 需要将它们分组为 k 个簇 其中 k 但 我需要运行时间远低于 n 2 n log n 左右应该没问题 我进行此聚类的原因是为了避免计算所有 n 个点的距离矩阵 这需要 n 2 时间或多个小时 而是我只想计算聚
  • Linq-to-Entity 查询的动态谓词

    以下 Linq to Entities 查询工作正常 var query repository Where r gt r YearProp1 HasValue r YearProp1 gt minYear r YearProp1 lt ma
  • 使用实体框架删除项目

    我正在尝试使用实体框架删除一个对象 在互联网上的所有教程中 我发现为了做到这一点 您必须调用DeleteObject方法结合上下文 我尝试这样做 但似乎我没有DeleteObject方法 这是我的代码 public void DeleteB
  • 选择子网格中的行会选择父网格中具有相同行索引的行

    我已经在 Rowexpander 插件中实现了嵌套网格 现在的问题是 当我选择子网格的任何第 n 行时 父网格第 n 行也会被选中 我认为因为两者都有相同的 rowIndex 即使当我将鼠标悬停在子网格行上时 父级也会同时显示相同的鼠标悬停
  • cpp中的接口

    我想在 cpp 中创建接口 这样任何类都实现该类 那么该类必须实现父类的函数 如果所有功能都没有实现 那么它一定会显示错误 class parent interface class public virtual void display c
  • socket.io,动态添加消息处理程序

    我很高兴编写了一个node js 服务器 它使用socket io 与客户端通信 这一切都运作良好 socket on connection 处理程序有点大 这让我想到了另一种组织代码并将处理程序添加到生成器函数中的方法 如下所示 sess
  • AWS Lambda“进程在完成请求之前退出”

    我正在尝试打电话DynamoDB客户端方法并从 DynamoDB 表中获取一项 我在用AWS Lambda 然而 我不断收到这样的消息 进程在完成请求之前退出 我增加了超时只是为了确保 但处理时间小于超时 有什么建议吗 console lo
  • OnResume 在片段内多次调用

    I have 内部片段里面包含RecyclerView主片段添加到浏览器 当 MainFragment 被创建时 同时滑动 OnResume 被多次调用 第一次 OnResume 在 MainFragment 中调用一次 在 InnerFr
  • Ruby,检查字符串是否都是有效的十六进制字符?

    我必须检查 4 个字符的字符串是否都是有效的十六进制 我发现了另一个问题 它准确地演示了我想要做什么 但它是 Java 用于检查字符串仅包含十六进制字符的正则表达式 https stackoverflow com questions 531
  • 如何使用逆 CDF 在 Python 中随机采样对数正态数据并指定目标百分位数?

    我正在尝试从 Python 中的对数正态分布生成随机样本 该应用程序用于模拟网络流量 我想生成这样的样本 模态样本结果为 320 10 2 5 80 的样本位于 100 到 1000 10 2 到 10 3 范围内 我的策略是使用逆 CDF
  • 为什么 localStorage["..."] 未定义,但 localStorage.getItem("...") 为 null?

    上次我检查时 返回了以下两行true null localStorage foo null localStorage getItem foo 更换时同样适用null with undefined 那么第一个问题是 为什么有两种方式来寻址lo
  • 在 Google 表单上创建动态问题

    我在谷歌电子表格中有数百张图像的网址列表 我想创建一个谷歌表单 动态选择其中 50 张图像 显示它们并询问一个喜欢 讨厌的通用问题 然后将此数据与 URL 一起提交到电子表格 有没有办法动态地做到这一点 AFAIK 您可以使用函数使用应用程
  • Oauth2 Access Token 可以被客户端共享吗?

    我是 OAUTH 的新手 正在尝试理解该规范 所以根据规范协议流程 https www rfc editor org rfc rfc6749 section 1 2 据我了解 客户端 A 可以获得受保护资源的授权代码和访问令牌 现在 如果已
  • 我的 JBoss 服务器在 Linux 上达到 100% SYS CPU;什么会导致这种情况?

    我们已经调试这个 JBoss 服务器问题很长时间了 大约工作 10 小时后 服务器陷入 100 CPU 恐慌攻击并停止运行 在此期间您无法运行任何新程序 因此您甚至无法kill quit获取堆栈跟踪 这些 100 SYS CPU 负载持续
  • 在 Spring Boot WebSocket 中向特定用户发送通知

    我想向特定客户发送通知 例如用户名 user Configuration EnableWebSocketMessageBroker public class WebSocketConfiguration extends AbstractWe
  • 使用 IO monad 的 Haskell 单元测试

    我正在尝试为返回 IO monad 的 haskell 函数编写 HUnit 测试 因为它们执行文件 I O 有什么办法可以做到这一点吗 现在我正在尝试编写一个仅返回 Bool 的方法 这可以作为我的测试 combine FilePath
  • OSCAR_SEARCH_FACETS 用于过滤产品列表

    我正在使用 django oscar 开发一个电子商务网站 产品已列出 我必须应用过滤器 例如年份 价格等 我们可以使用 oscar facet 来实现此过滤功能吗 我尝试添加以下内容奥斯卡文档 http django oscar read
  • Django 带过滤器的左外连接

    我正在使用 Django 的内置用户模型 并有一个自定义 Foo 对象 其中包含 User 的外键 我希望选择符合某些约束的所有 User 对象和所有 Foo 对象 如下所示 SELECT from auth user LEFT OUTER
  • 如何理解 Haskell 中的“$”用法[重复]

    这个问题在这里已经有答案了 当您想要将一堆函数应用于同一个变量时 就会发生这种情况 它可能如下所示 map f gt f 4 odd even 但从LYAH http learnyouahaskell com higher order fu
  • 在 MSBuild 中使用 Studio 的“自定义工具”

    我有一个 Visual Studio 的 自定义工具 可以将一些模板文件合并到代码中 为了一致性和可移植性 我希望在 Visual Studio 之外构建时能够从 MSBuild 运行此模板处理器 Visual Studio 为文件创建以下