问题标签 [msbuildcommunitytasks]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - FxCop 不尊重我的排除
我正在尝试将 FxCop 直接合并到我的构建中。我正在使用 MSBuild 社区任务。我有一个这样的目标文件:
它工作得很好,除了当我添加 [SuppressMessage] 警告时,它们仍然显示在我的输出中。我创建了一个 .fxcop 项目文件并包含了输出程序集并尝试以这种方式运行它,但同样的事情发生了。FxCop 似乎不尊重我的压制,有什么想法吗?
下面是一个不起作用的抑制示例 (GlobalSuppressions.cs):
这是由 fxcop 工具生成的。有任何想法吗?
visual-studio - UseHostCompilerIfAvailable False 导致“找不到编译动态表达式所需的一种或多种类型”错误
C#类型在设置为dynamic
时似乎无法编译。我有所需的参考资料和我的项目,但它拒绝承认它。但是,使用集成的 Visual Studio 编译器是可行的。UseHostCompilerIfAvailable
false
Microsoft.CSharp
System.Core
违规行是:
msbuild - MSBuild 社区任务文档
是我一个人还是这个项目的文档真的很稀缺?
我试图找到如何使用 FtpCreateRemoteDirectory 和一般的 FTP 功能,但似乎找不到任何东西。
谷歌搜索 FtpCreateRemoteDirectory,只显示项目的源代码......
msbuild - 需要 TeamCity + WiX + MSBuild 工作流建议
我一直在进行我的持续集成项目的下一步,即让TeamCity构建我的应用程序,自动更改所有程序集的版本号,然后创建一个安装程序。
先说一点背景:
在过去的几个月里,我一直在成功运行 TeamCity,它构建了我的配置并很好地运行了我的 NUnit 和 NCover 测试。
我花了一点时间研究安装程序——我一直讨厌 InstallShield,并且从未考虑将它用于我当前的应用程序。我喜欢 NSIS,但后来碰巧遇到了WiX。我对 MS Installer 架构没有任何深入的了解,我知道这对于复杂的项目是危险的,所以在某些时候我需要了解更多关于它的信息。然而,经过几天的 SO 问题、谷歌搜索和阅读博客后,我有一个 WiX 项目,它成功构建、安装、应用程序运行,并且一切都卸载干净。伟大的!
我还想让 TeamCity 构建配置自动更新我所有程序集的版本号。我能够通过在我的开发机器上安装MSBuild 社区任务并创建使用BeforeBuild目标和FileUpdate任务来更改版本号的部署配置来模拟此功能。这可以正常工作,除了在我的开发机器上,我没有build_vcs_number_1环境变量可以替代。
这就是我现在所处的位置——我需要让 TeamCity 进行更新,虽然它确实有build_vcs_number_1环境变量,但我不知道如何获得 WiX MSBuild 社区任务。
我读过的一篇文章建议将 MSBuild 目标签入 SVN 文件夹。我有一个这样的 /extlib 文件夹,所以我的 TeamCity VCS 签出规则如下所示:
如何从环境变量访问 extlib? 当我运行构建时,TeamCity 抱怨(并且正确地)它找不到c:\wix30\MSBuildCommunityTasks
. 实际文件夹是C:\TeamCity\buildAgent\work\3e073d2b74226378\extlib\wix30\MSBuildCommunityTasks
. 该文件夹是自动生成的,因为我正在执行服务器端结帐,因此必须有一些 TeamCity 设置的环境变量可以用来获取正确的路径。
我应该注意的一件事是,我已经进入了构建配置 -> 属性和环境变量,并找到了包含所有现有变量的不直观的下拉列表,并且没有看到任何听起来像指向工作路径的变量的东西。
我能想到的一种可能的解决方法是在构建服务器上安装 MSBuild 社区任务,然后我可以创建一个可以通过<WixToolPath>
.
有人有其他建议吗?
msbuild - MsBuild 复制输出并删除部分路径
我有一个 MsBuild 项目,它构建各种解决方案,然后将 Web 部署项目的输出复制到具有两个子文件夹的目标文件夹中,如下所示:
WDP 输出文件夹是从 BuildFolder“Release”复制过来的。
这可行,但我想$(Configuration)
从输出中删除该值。
所以所需的输出文件夹布局是:
注意删除“ Release ”文件夹
我的代码如下。
我该如何更改它以提供所需的输出:
代码摘录如下
msbuild - 在 msbuild 中使用路径
我正在尝试使用 msbuild 和 msbuild 社区任务设置虚拟目录,但找不到如何指定$(MSBuildStartupDirectory)
.
我的项目结构如下:
我想做的是这样的(注意$(MSBuildStartupDirectory)
指向c:\proj\build
):
不幸的是,这不起作用 - '..' 没有解决,然后虚拟目录指向c:\proj\build\..\src\website
.
谁能给我一个提示如何在 msbuild 中使用(相对)路径?
msbuild - XmlMassUpdate 多个值(MSBuild 社区任务)
假设您有一个具有以下设置的配置文件:
对于我的生活,我无法弄清楚如何让 XmlMassUpdate 注入以下内容:
结果如下所示:
我要拍摄的是:
编辑:我找到了一个临时解决方案(见下文)......不过,仍然对更好的东西感兴趣。
visual-studio-2008 - 通过 Ms Build 发布和通过 IDE 发布 Visual Studio 发布向导有什么区别?
我在网上搜索并找不到下面这个问题的令人满意的答案:
我目前正在开发 ms build 以根据所选环境(Dev 或 Prod)发布我的 winform 应用程序。我正在使用Ms Build Community Task并参考这篇文章来实现这个目的。
基于发布应用程序,我有一些理论上的疑问。
1)通过visual studio ide和msbuild发布有什么区别吗?
2) 大多数开发人员更喜欢使用什么,为什么?
3) 与通过 Visual Studio IDE 发布相比,使用 MsBuild 发布应用程序有哪些优势?
4)什么更快?
5) 为什么说一步构建可以很好地维护和调试应用程序?
我正在使用在 Csharp 中开发的 .net 3.5 winform 应用程序,我的问题仅与 clickonce windows 应用程序有关。请帮我解开这些疑惑。任何意见表示赞赏。
nhibernate - MSBuild Contrib XMLMassUpdate 和 NHibernate 配置
我正在尝试构建一个 MSBuild 文件以将一组多个网站部署到多个环境。目前,我已经构建了该项目并将其转储到一个目录中。
我使用变量 $(AdminConsoleConfigFilePath) 来引用此目录中 web.config 文件的路径。我的替换文件由变量 $(AdminConsoleConfigReplacementFile) 表示。我在项目的 msbuild 文件中设置了以下任务:
`
这里其他变量的值声明如下:
Environment 是构建目标的名称。在这种情况下,它是“qa”。
我的 web.config 具有典型的 hibernate-config 部分,如下所示:
我的替换文件如下所示:
现在,connection.connection_string 属性没有被替换(在上面的代码中,我也永远无法在此站点的编辑器中显示用于配置和替换的结束标记 - 可能是 firefox 问题)。有任何想法吗?我尝试了以下方法:
- 从有问题的 web.config 和替换文件(一起和单独)中删除 nhibernate-configuration 的命名空间声明。
- 向 nhibernate 声明添加命名空间前缀,并为其添加相关节点和属性的前缀。再次,单独和组合尝试 web.config 和替换文件。
- 尝试使用来自 MSBuild contrib 项目的最新夜间构建。这不仅不起作用,而且还破坏了其他东西。
- 尝试使用基于 XPath 的 xmu:Locator。还尝试了使用和不使用 xmu:key 值(甚至尝试用 xmu:Key 替换它)。
我完全被难住了。XMLMassUpdate 东西是否有效?我们希望将 web.config 的 qa 和生产版本(或至少各种敏感位)保留在代码主体之外,以防我们得到初级开发人员或承包商,所以当前的方法web.qa.config 和 web.prod.config 在这一点上并不可行。关于如何实现这一点的任何想法(除了为每个环境保留完整 web.config 的副本并在构建后复制之外)?
谢谢,威尔
tfs - 在团队构建中编辑发布版本的项目属性
我在我的 TFS 服务器中有一个夜间构建,它每晚运行并且运行良好。我们还计划创建一个 clickonce 应用程序,除了发布版本 (ApplicationVersion) 之外,它目前工作正常,我们希望在每次构建时自动递增而不是手动输入它。需要提到的重要一点是,我们只希望 Revision 部分在每次构建时增加 1。例如,第一次使用 1.1.1.1,下一次编译使用 1.1.1.2。
请注意,因为有很多信息可用于程序集版本控制,所以我对它一点也不感兴趣,我只是希望我的应用程序版本增加,所以请指出我这个方向。
我的 VS 和 TFS 服务器是 2008 年。有什么方法可以在构建之前编辑我的发布版本,就像在这种情况下编辑 projecte-g 的 InstallUrl 一样
发布版本是一个组合
在我的场景中,它的定义如下
接着
但该值在第一次运行后永远不会增加。第一次运行后,该值始终为 1.9.4.1。有什么方法可以为下一次构建增加它。已尝试使用*+1
, #+1
...进行应用程序修订