问题标签 [msbuild]
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.
tfs - 构建环境的 TFS 生命周期管理
C#
当某些项目( .csproj项目)是实际构建系统的一部分时,您将如何管理生命周期和自动化构建过程?
示例:.csproj是一个使用
在BuildEnv.csprojMSBuild
中实现的任务的项目。两个项目都是同一个产品的一部分(意思是,BuildEnv.csproj会随着产品的开发而频繁更改,而不是很少更新的第 3 方)
c# - 使用 C# 异地构建
我刚刚使用继承的属性表为我们现有的 C++ 代码设置了一个异地构建系统,该特性似乎是 Visual C++ 产品特有的。异地构建需要更改许多项目设置,而继承的属性表允许我通过将属性表附加到项目来更改所有必要的设置。我正在将我们的团队从用于 UI 的 C++/MFC 迁移到 C# 和 WPF,但我需要提供相同的异地构建功能,希望具有相同的便利性。我似乎找不到使用 C# 项目执行此操作的方法 - 我首先查看是否可以引用 MsBuild 目标文件,但找不到执行此操作的方法。我知道我可以将 MsBuild 用于整个事情,但这似乎比必要的复杂。
web-services - 自动测试 Web 服务通信
我有一个将消息发送到外部 Web 服务的应用程序。我使用MSBuild和Cruisecontrol.NET构建和部署此应用程序。随着 CCNET 构建和部署应用程序,它还使用NUnit运行一组测试。我现在也想测试 Web 服务通信。
我的想法是,作为构建过程的一部分,应该生成一个 Web 服务(基于外部 Web 服务 WSDL)并将其部署到构建服务器的本地 Web 服务器。Web 服务应该做的就是接收消息并将其放在文件系统上,这样我就可以使用普通的 NUnit 来检查它。这也将使开发更容易,因为新开发人员只需运行构建脚本并启动并运行(不必花时间建立与第三方服务的连接)。
是否有任何现有的实用程序可以轻松模拟基于 WSDL 的 Web 服务?有人使用 MSBuild 做过类似的事情吗?
还有其他方法可以测试这种情况吗?
tfs - 向团队提供 TFS 构建状态通知的最佳方式是什么?
我喜欢 TFS 的警报机制在构建中断时发送的状态电子邮件。但是,我想向整个团队发送这样的电子邮件,而不是依赖团队订阅警报...
在覆盖“OnBuildBreak”并使用 MSBuildCommunityTasks EMail 任务时,我很难自己生成足够详细的消息。
有没有办法强制将 TFS 警报发送到电子邮件列表?您能推荐一种发送此类状态通知的方法吗?
visual-studio-2008 - 如何将 TFS 2005 升级到 TFS 2008?
将 TFS 2005 升级到 2008 的最佳方法是什么?此外,Team Build 脚本(“Build Types”)怎么样,它们是否与 Team Build 2008 兼容,或者它们是否需要以某种方式转换/迁移?
c++ - 带有.Net 2.0 C++ 项目的构建框需要VS.Net 2005?
我们有一个使用 CruiseControl.Net 的构建框,并且一直在使用 msbuild 构建 VB.Net 和 C# 项目。就.Net而言,我在盒子上安装的只是.Net 2.0 SDK(我试图让盒子尽可能干净)。我们现在正试图在这个盒子上构建一个 C++ 应用程序。我们遇到的问题是SDK 没有安装头文件(例如windows.h)。
我必须安装 VS 2005 才能让它工作吗?
编辑:
正如几个人回答的那样,我实际上已经下载了 3.5 Platform SDK,但是在这个盒子上构建的应用程序必须在没有安装 3.5 的盒子上运行。通过在我的 2.0 构建盒上安装 3.5 SDK,我是否会损害我的构建盒?
编辑:
我打算不回答这个问题,但我想我会补充一点,我继续在盒子上安装了 Visual Studio,一切都很好。我讨厌这样做,但不想冒在我的 2.0 构建盒上安装 3.5 SDK 的风险。我仍然希望听到更好的解决方案。
tfs - 尽管启用了 CI,为什么我的 2008 Team Build 不会触发开发人员签入
我有一个 Team Foundation Server 2008 安装和一台带有 Team Build 服务的单独机器。
我可以创建团队构建并在 Visual Studio 中手动触发它们或通过命令行(它们成功完成)。但是,尽管在构建定义上勾选了构建每个签入的选项,但签入源树不会导致触发构建。更新:需要明确的是,我有一个启用 CI 选项的完整构建定义。
源代码树的配置非常简单,代码位于Main文件夹或Branch\branchName文件夹下。每个代码分支(包括主代码)都有一个与其中包含的解决方案文件相关的标准 Team Build 定义。唯一与默认设置略有不同的是构建服务器工作文件夹;即对于 main,这是Server:"$\main" Local:"c:\build\main"由于路径长度。
我唯一能猜到的(可能是红鲱鱼)是开发人员工作区可能有些奇怪。目前,每个开发人员都将 Server:"$\" 映射到 local:"c:\tfs\" 以便所有分支只有一个工作区。这主要是为了避免一些开发人员之前遇到的重新映射问题。但我看不出这会如何影响 CI。
更新:我间接找到了答案;请阅读下文
asp.net - ASP.NET 合并:不允许虚拟路径“obal.asax”
我正在对我的网站进行 Web 部署,并且我将合并程序集属性设置为 true。
出于某种原因,我收到以下错误。
合并程序集时出错:
'Global.asax'
此处不允许使用相对虚拟路径。
它似乎与 . 有关Global.asax
,但我不确定它为什么会被截断。我的代码在本地编译得很好,但它只是混乱的合并。
有任何想法吗?
c# - 有没有办法在 VS2008 之外的安装项目中执行“刷新依赖项”?
我有几个项目的解决方案。其中之一是设置项目。如果您在解决方案资源管理器中展开设置项目,您会看到一个 Detected Dependencies 节点。如果你右键单击它,你会得到一个名为 Refresh Dependencies 的菜单项。这会根据设置中包含的文件刷新任何依赖项。
我在问我是否可以在 Visual Studio 之外使用 devenv.com 或 MSBuild 执行此操作。
我想要这个,因为我使用 CruiseControl.NET 进行持续集成,并且在某些解决方案中,我发现设置输出缺少一些依赖项,因为我自动构建项目的方式。
更新:
事实证明,我的设置对安装项目在 Visual Studio 中的工作方式不是很友好。我最终使用 Post Build Events 来创建整个应用程序结构,以便将其复制到计算机并开箱即用。我不再使用 Visual Studio 中的设置项目,除非我真的必须这样做。
.net - 使用 MSBuild 值得学习吗?
我只是想知道人们是否认为值得学习使用 MSBuild 语法来自定义 .net 项目的构建过程,或者考虑到使用 Visual Studio 构建项目的便利性,是否真的不值得。
我正在考虑夜间构建等,但是我不能使用使用 VS 内置的命令行构建选项的预定事件吗?有没有更好的工具?