天道酬勤,学无止境

在 TFS 15RC1 构建服务器中使用 devenv.exe 构建项目(Build project using devenv.exe in TFS 15RC1 Build Server)

问题

我在理解如何使用来自 TFS Build Server 的 devenv.exe 时遇到了麻烦。

使用devenv没有默认步骤,所以我尝试使用PowerShell sсript来执行带有参数的devenv.exe。 构建过程中没有错误,但我看到构建结果文件没有更新。 如果我在代理机器上手动执行脚本,构建成功通过。 那是我的脚本:

$process = [System.Diagnostics.Process]::Start( "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe", "/Rebuild ""MyConfig"" ""C:\agent\agent\_work\1\s\MyProject.sln"" /Project ""C:\agent\agent\_work\1\s\MyProject\MyProject.dwproj""") 
$process.WaitForExit()

正如您现在看到的,我不使用源路径变量,但如果脚本可以工作,我会使用它。

我还不得不说我找不到任何有错误的日志。 也许我不知道在哪里可以找到它们?

所以,

  1. 我在 powershell 脚本中做错了什么?
  2. 在 TFS Build Server 中使用 devenv.exe 构建项目的最佳实践是什么?

PS 我们使用的是 TFS 15 RC1(版本 15.103.25603.0)。

回答1

目前,没有这个内置功能支持在 vNext 构建任务中直接使用devenv.exe 。 但似乎会在不久的将来出现:

这不是我们现在正在做的事情,但这是我们会接受拉取请求的事情。

chrisrpatterson 于 1 月 8 日发表评论

我们希望在现有的 Visual Studio Build 任务上输入一个使用 devenv(默认为 false)的输入。 如果为 true,则采用与上述类似的变体路径运行代码。

bryanmacfarlane 于 1 月 22 日发表评论

来自 GitHub:

  • 实际调用 devenv.com 而不是 msbuild 的“Visual Studio Build”构建步骤?
  • Visual Studio 命令行构建 vnext 步骤 (devenv.com)

您可以尝试使用jmacnett提供的拉取请求来创建自定义构建任务。

回答2

我发现它仅在代理作为服务运行时才起作用。 当我以交互模式启动代理时,我的任务开始正常工作。 为什么? - 我不知道。

回答3
$argumentList = ("`"$solnPath`" /$solnCmdSwitch $solnConfigName")

如果项目然后添加以下

$argumentList += (" /project `"$projPath`" /projectconfig $projConfigName")

查看额外的反引号

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • Visual Studio 2013 和 TFS Build 2015:Devenv.exe 无法生成 MSI 文件(Visual Studio 2013 and TFS Build 2015: Devenv.exe unable to produce MSI file)
    问题 我们正在将我们的 TFS 2013 服务器升级到 TFS 2015。在这方面,我在尝试使用我们的 XAML 模板构建脚本(已创建)在具有新版本的构建代理上执行应用程序构建时遇到了一个问题在 TFS 2013 中)。 我们的大多数解决方案在构建时都使用上述模板。 解决方案(遗憾的是,仍然)使用安装项目 (.vdproj) 为应用程序生成 MSI 包。 为给定的应用程序构建安装项目并生成 MSI; 我们在模板构建脚本中调用devenv.exe (在我们的例子中,它指向 Visual Studio 2013): C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe /Build "Release|Any CPU" "d:\<path_to_solution>\solution.sln" /Out c:\temp\out.log 但是,在我们的新构建代理上没有生成 MSI,调用devenv.exe既不会产生任何输出,也不会产生任何错误消息。 但是,如果我尝试调用devenv.com ,它会开始构建,但仍然没有生成 MSI。 当事情开始使用devenv.com构建时,它似乎完全无视安装项目(我已经检查了构建配置,并且在“Release|Any CPU”配置上检查了构建项目)。
  • Build project using devenv.exe in TFS 15RC1 Build Server
    I have a trouble with understanding how to use devenv.exe from TFS Build Server. There is no default step to use devenv, so I tried to use PowerShell sсript to execute devenv.exe with parameters. There are no errors in build process but I see that build result files are not updated. If I execute the script manually on a agent-machine, the build passes successfully. That is my script: $process = [System.Diagnostics.Process]::Start( "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe", "/Rebuild ""MyConfig"" ""C:\agent\agent\_work\1\s\MyProject.sln"" /Project ""C:\agent
  • 从 TFS 2015 构建代理运行时,VS .NET Core 项目的 DotNet CLI 构建失败(DotNet CLI build fails for VS .NET Core project when run from TFS 2015 build agent)
    问题 问题 从 TFS 2015 构建代理运行时,命令dotnet build ...失败,并出现以下错误: C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\DotNet\Microsoft.DotNet.Common.Targets(262,5):错误:未将对象引用设置为对象的实例。 C:\Program Files\dotnet\dotnet.exe compile-csc @(path to dotnet-compile.rsp) 返回退出代码 1 重现步骤 使用 Visual Studio 2015(工具预览版 2)创建 ASP.NET Core 1.0 Web 应用程序。 向 TFS 2015 团队项目提交解决方案。 配置作为NT AUTHORITY\NETWORK SERVICE (默认)运行的 TFS 2015 Windows 构建代理。 使用 MSBuild 或 VSBuild 任务触发构建以构建解决方案。 构建失败并出现上述错误。 环境 视窗服务器 2012 R2 Team Foundation Server 2015 更新 2 Visual Studio 2015 社区更新 3 Microsoft .NET Core 1.0.0 - SDK 预览版 2 (x64) Microsoft
  • 转到定义:“无法导航到插入符号下方的符号。”(Go To Definition: “Cannot navigate to the symbol under the caret.”)
    问题 这个问题的答案是社区的努力。 编辑现有答案以改善此职位。 它目前不接受新的答案或互动。 今天,我突然开始在我的项目中遇到问题,单击“转到定义”给我一个奇怪的错误:“无法导航到插入符号下的符号。” 通过NuGet安装Costura.Fody之后的一段时间,我第一次注意到了它。 此后,我已经将其卸载,但问题仍然存在。 我已经多次清洗并重建了解决方案。 在git commit历史记录中,在开始发生此事件之前或之后的任何时间都没有“ Fody”或“ Costura”的实例,因此我认为我的.gitignore文件之一卡在了一个错误的文件中状态。 仅当目标定义在另一个文件中时,才会出现此问题。 对于当前打开的文件中的内容,转到“定义”可以正常工作。 偷看定义也可以正常工作。 其他解决方案/项目也可以正常工作-只是这个问题/项目引起了问题。 我使用的是Visual Studio2015。2013版本似乎没有出现此问题。 为什么会发生此错误,我该如何解决? 回答1 最近几天,我至少每天两次收到此错误,这真令人讨厌! 这里提出的解决方案都没有对我有用。 我发现的结果是,由于很难找到我要在这里写下的内容,因此: 关闭视觉打开控制台并导航到Visual安装文件夹,在我的计算机中是C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \
  • Visual Studio 在构建期间不断挂起(Visual Studio hangs constantly during build)
    问题 可能在我构建解决方案的 25% 到 50% 之间,我看到的是: “您请求的操作花费的时间比预期的要长。当操作完成时,此对话框将关闭。” 我以无法描述的方式讨厌这个窗口。 它永远不会解决,“取消”按钮永远不会启用,解决它的唯一方法是终止 devenv 进程并再次加载我的整个解决方案,完全知道我没有修复任何东西,而且我同样有可能看到当我尝试构建时,同样的事情。 我的解决方案一共是60个左右的项目,主要是C#类库,web应用、web服务、控制台应用各有一些。 但是,即使在卸载大部分 (50) 个项目的情况下构建代码库的一部分时,问题仍然存在。 我的问题是输出窗口在它冻结时没有告诉我任何信息,而且我不知道如何确定此锁定的原因。 如果我猜测,我会假设这是文件系统中的死锁或其他什么,但我不知道如何证明这一点——更不用说如何防止它了。 我能做些什么来诊断并从我的解决方案中消除它,这样我就再也看不到它了? 一般来说,我如何诊断构建过程中出现的问题? 回答1 有一个类似的问题,VS 会挂起 45 秒左右,然后构建 4 秒并完成。 45 秒的挂起不会对 GUI 产生任何输出,VS 将挂起。 使用 ProcMon,当我构建这个项目时,我可以通过 devenv.exe 在 /packages/ 文件夹上看到 300 万多个文件操作(并且会在一段时间后继续)!
  • 在 VSTS 托管构建代理中构建 SSIS .dtproj(Building SSIS .dtproj inside a VSTS Hosted Build Agent)
    问题 我正在尝试构建一个 SSIS 2016 项目,该项目已在 VSTS 构建中使用项目部署模型进行配置,目的是将 .ispac 文件部署到 Azure 中托管的 SQL Server VM。 使用 MSBuild 构建项目文件返回以下错误: The default XML namespace of the project must be the MSBuild XML namespace. If the project is authored in the MSBuild 2003 format, please add xmlns="http://schemas.microsoft.com/developer/msbuild/2003" to the element. If the project has been authored in the old 1.0 or 1.2 format, please convert it to MSBuild 2003 format. 我在这里找到了一篇描述相同问题的博客文章 https://speaksql.wordpress.com/2013/06/07/a-journey-to-db-deployment-automaton-ssis-build-using-msbuild/ 但是,该解决方案取决于将 SQL Server Data
  • 使用 devenv.exe (Visual Studio 2012) 在构建服务器上构建“*.DTPROJ” - SSIS(Build “*.DTPROJ” - SSIS on the build server with devenv.exe (Visual Studio 2012))
    问题 我正在尝试在构建服务器上使用 Visual Studio 2012 构建 SSIS 项目 (*.dtproj)。 据我所知,不支持直接使用 MSBuild 构建此类项目。 但是我的想法是,如果我可以在本地使用 Visual Studio 2012 IDE 构建它,我将能够使用 Visual Studio 命令行(调用 devenv.exe/devenv.com)直接从构建服务器上的命令行构建它 但是我尝试了很多组合,却找不到任何有效的组合 我不断收到以下错误: Microsoft (R) Microsoft Visual Studio 2012 Version 11.0.60315.1. Copyright (C) Microsoft Corp. All rights reserved. Error: Catastrophic failure (Exception from HRESULT: 0x8000FFFF (E_UNEXPECTED)) ========== Build: 0 succeeded or up-to-date, 1 failed, 0 skipped ========== 这是我正在使用的命令行: ."C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.com"
  • Installshield构建自动化(Installshield Build Automation)
    问题 我已经看到了许多使InstallShield构建自动化的解决方案,但是每个解决方案都存在问题。 我正在使用InstallShield Professional2013。很抱歉,这个冗长的问题,但是对于解决我的问题该走哪条路,我一无所知。 1)IsCmdBld.exe-我有一个正在运行的脚本,它将构建我的安装程序。 但是,当安装程序运行时,我收到一条错误消息,提示"The System Administrator has set policies to prevent this installation" 。 我不确定为什么会这样,但是如果通过设计器构建安装程序,则不会得到相同的错误消息。 编辑:这是我的命令(%guid%是我生成的用于设置产品代码的Guid): for /f %%i in ('"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\uuidgen.exe"') do set guid=%%i "C:\Program Files (x86)\InstallShield\2013 SP1 SAB\System\ISCmdBld.exe" -p "MyInstaller.ism" -r SingleImage -y "1.0.0.13" -z ProductCode=%guid% 2)InstallShield自动化接口
  • NuGet自动软件包还原不适用于MSBuild(NuGet auto package restore does not work with MSBuild)
    问题 我正在尝试使用MSBuild 12.0构建一个缺少packages内容的解决方案(内部的repositories.config除外)。 我希望它可以在构建之前自动还原所有丢失的软件包,但事实并非如此-MsBuild报告大量错误: “您是否缺少using指令或程序集引用?” NuGet Manager是2.7(我在Visual Studio 2013的“关于”框中看到了此信息)。 我什至尝试传递EnableNuGetPackageRestore=true参数-祝您好运。 我想念什么? 回答1 自v3.3.0起更新了最新的官方NuGet文档 包还原方法 NuGet提供了三种使用软件包还原的方法。 自动打包还原是NuGet团队推荐的在Visual Studio中进行打包还原的方法,它是在NuGet 2.7中引入的。 从NuGet 2.7开始,NuGet Visual Studio扩展集成到Visual Studio的生成事件中,并在生成开始时恢复丢失的包。 默认情况下启用此功能,但是开发人员可以根据需要选择退出。 运作方式如下: 在项目或解决方案构建中,Visual Studio引发一个事件,表明在解决方案中开始构建。 NuGet响应此事件,并检查解决方案中包含的packages.config文件。 对于找到的每个packages.config文件,将枚举其软件包
  • 团队构建:即使删除构建代理上的所有工作区,路径“路径”也已映射到工作区“工作区”错误中(Team Build: The path 'Path' is already mapped in workspace 'workspace' error even after deleting all workspaces on build agent)
    问题 当我排队构建时,我遇到了这个问题。 构建因错误而死亡 路径 C:\[Path]\Sources 已经映射到工作区 [Server Name] 中。 和这个问题一样。 但我已经通过运行以下命令删除了构建代理上的所有工作区: tf workspaces /remove:* 以及删除 TFS 缓存文件夹。 我也重新启动了服务器,但每次构建时都会发生错误。 回答1 好的,所以解决方案最终与 YeeStu 在这里发布的内容非常相似。 我将构建代理的工作目录从 $(Temp)\UI\$(BuildDefinitionPath) 至 $(Temp)\UI\$(BuildDefinitionPath)\$(BuildDefinitionID) 奇怪的是,我们拥有的另一个构建代理仍在$(Temp)\UI\$(BuildDefinitionPath)并且工作正常。 两个代理之间的唯一区别是停止工作的代理安装了 Visual Studio 2010 RC,而仍在运行的代理安装了 VS2010 Beta2。 不知道为什么这会有所作为。 回答2 http://blog.devaffair.com/2011/11/path-is-already-mapped-in-workspace.html 好吧,实际上这个问题已经在本网站的其他几个问题中得到解决,但我会再次发布我的答案:)
  • MS-Build 2017“ Microsoft.WebApplication.targets”丢失(MS-Build 2017 “Microsoft.WebApplication.targets ” is missing)
    问题 我正在尝试将我们的构建服务器(jenkins)从Visual Studio 2015升级到2017。我们正在通过MS-Build进行构建。 我已经按照此答案中的说明下载并安装了MS-Buld工具。 如果我编译项目,则会收到未找到Microsoft.WebApplication.targets的错误。 详细错误: error MSB4226: The imported project "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\Microsoft\VisualStudio\v15.0\WebApplications\Microsoft.WebApplication.targets" 我在MS-Build目录中进行了查找: PS C:\Program Files (x86)\MSBuild> dir -Recurse -Filter "Microsoft.WebApplication.targets" Directory: C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\WebApplications Mode LastWriteTime Length Name ---- ------------- -----
  • 与从命令行运行DevEnv.exe相比,使用MSBuild或NAnt的优势(Advantages of using MSBuild or NAnt versus running DevEnv.exe from command-line)
    问题 谁能解释与使用命令行运行DevEnv.exe相比,使用MSBuild(或NAnt)之类的工具来构建项目集合有什么好处? 我过去与之合作的一位同事解释说(至少使用旧版本的Visual Studio)使用DevEnv.exe的速度比其他技术要慢得多,但我尚未阅读任何证据,或者如果现在已经知道现在的讨论要点是,从2005年开始,Visual Studio在后台使用MSBuild。 我知道使用MSBuild的一个优点是可以在不要求将Visual Studio安装在生成机器上的情况下生成项目,但是我不确定是否还有其他优点。 回答1 原因之一是,构建产品不仅仅是编译产品。 由于这些工具(及其扩展名)提供了哪些功能,因此创建安装,更新版本号,创建托管,分发最终软件包等任务可能会容易得多。 尽管您可以使用常规脚本来完成所有这些操作,但是使用NAnt或MSBuild可以为您提供一个可靠的框架来完成所有这些操作。 两者都有很多社区支持,包括可以下载的其他任务(例如MSBuild社区任务项目)。 此外,许多第三方和开源产品都对它们提供了支持。 如果您仅对编译感兴趣(而不是对整个构建过程感兴趣),则可能会发现MSBuild的一项节省时间的好处是支持使用多个处理器进行构建。 回答2 我的团队的明显答案是,并不是每个人都安装了Visual Studio,特别是我们没有将Visual
  • Visual Studio生成非常慢(Visual Studio Build Very Slow)
    问题 这适用于2008和2010版本(可能也适用于以前的版本)。 同样适用于C ++和C#项目。 初始构建(重新引导后)以正常速度运行,并具有相当好的CPU使用率。 经过“一段时间”(即使用计算机进行“填充”),随后的构建可能会非常非常缓慢地运行,并且CPU使用率非常低。 我发现的唯一解决方法似乎是重新启动,然后整个循环又重新开始。 WPF和非WPF项目均会发生这种情况,尽管使用WPF的情况要差10倍。 我在不同的机器上发生了这种事情,甚至在不同的组织中工作,所以我认为这是Visual Studio的事情,而不是环境的事情。 我已经尝试了平常的方法(谷歌,关闭AV,Intellisense,Resharper等,目前期待获得订购的SSD)。 我当前的计算机规格是2.7gig四核,4GB RAM,XP(尚未运行Win7),250Gb硬盘等 任何人都知道这可能是什么以及如何解决? 提前致谢! 回答1 尝试一下,因为它对我有用: 按Windows + R或从“开始”打开“运行”。 现在输入%temp%并从那里删除所有内容... 现在,再次打开“运行”,然后键入prefetch并从中删除所有内容。 现在打开VS,查看性能。 回答2 试试这个: Devenv.exe /重置设置 回答3 我有同样的问题。 通过禁用“实时扫描”,我安装了McAfee安全中心
  • 您如何自动化Visual Studio构建?(How do you automate a Visual Studio build?)
    问题 如何将在IDE中执行的Visual Studio构建转换为可以从命令行运行的脚本? 回答1 使用VS2008,您可以执行以下操作: devenv solution.sln /build configuration 回答2 \Windows\Microsoft.NET\Framework\[YOUR .NET VERSION]\msbuild.exe 许多命令行参数,但最简单的只是: msbuild.exe yoursln.sln 回答3 最简单的方法:导航到包含解决方案或项目文件的目录,然后运行msbuild (假定您具有Visual Studio 2005或更高版本)。 更灵活的方式: 阅读MSBuild参考。 有大量的自定义项,尤其是在安装了MSBuild社区任务项目后。 使用NAnt。 它的存在时间比MSBuild长,并且具有更多的社区支持,但是需要您从头开始创建项目文件,而不是扩展现有的,由Visual Studio创建的文件。 回答4 这是我用来通过批处理脚本完全自动化用于相同解决方案的x86和x64配置的命令行构建的脚本。 这是基于DevEnv.exe的,因为如果您的构建中有一个Setup项目,则它会起作用(msbuild不支持构建Setup项目)。 我假设您的安装程序是使用x86本机编译器和x64交叉编译器的Visual Studio
  • 无法在构建时将文件复制到服务器。 访问路径被拒绝(Unable to copy file to server on build. Access to path is denied)
    问题 我在 Visual Studio 中有一个由 5 个项目组成的解决方案。 项目构建为程序集 (.dll)。 我将每个项目的输出路径设置为 \my-web-server\wwwroot\bin,这在一个项目上运行良好。 在我所有项目的属性中,我将输出路径设置为同一目录,但是当我尝试构建除一个项目之外的所有项目时,出现错误: 无法将文件“obj\Release\Index.dll”复制到“\my-web-server\wwwroot\bin\Index.dll”。 拒绝访问路径“\my-web-server\wwwroot\bin\Index.dll”。 我认为这可能是权限问题,因为我的组织一直处于锁定状态,但我无法控制授予权限。 任何在正确方向上的帮助都非常感谢。 回答1 一定是什么傻事。 我手动删除了 .dll,然后重建。 看起来一切正常。 谢谢。 回答2 我的解决方案是删除每个项目中 bin 和 obj 文件夹中的所有内容。 只需按照此处所述运行此 powershell 脚本。 回答3 我遇到过同样的问题。 Visual Studio (devenv.exe) 的一个副本仍在后台运行,保持特定的 dll 被锁定。 回答4 从 bin 文件夹中删除所有 DLL 并构建解决方案。 回答5 刚刚遇到了同样的问题,构建了一个新项目/解决方案,让它全部工作,然后添加到 TFS。
  • 在命令行对 .vdproj 运行 devenv 不会产生 MSI(Running devenv against a .vdproj at the command line doesn't produce an MSI)
    问题 我想在命令提示符下使用devenv命令从.vdproj文件生成 MSI 文件。 此命令运行良好,但未生成 MSI 文件。 怎么了? 我应该在环境变量中设置什么,或者有没有其他方法可以从.vdproj文件生成 MSI? 回答1 这通常是(根据我的经验!)由于没有针对正确的构建配置造成的。 在 Visual Studio 中,在解决方案级别,您可以转到“ Build菜单并选择“ Configuration Manager 。 确保对于所有适用的配置(通过Active Solution Configuration下拉菜单选择),安装程序项目在Build列中有一个勾号。 现在,您需要确保在调用 devenv 时传递适当的构建配置(即为安装项目勾选了Build的配置),如下所示: C:\PathToVisualStudio\devenv.exe /Rebuild Release C:\PathToProject\ProjectName.sln" /Out "PathToProject\vs_errors.txt" (在这个例子中, Release是我的目标构建配置) 此命令还将 Visual Studio 的输出记录到与您的解决方案位于同一文件夹中的名为vs_errors.txt的文本文件中,以便您可以查看此文件以确定安装项目无法生成的任何其他原因。 回答2 上面的脚本对我有用,试试吧
  • 在 .net 中自动构建(Automate Builds in .net)
    问题 我有一个解决方案 sln,有 50 个项目(vbproj、csproj 和 setup 项目)。 我需要自动构建所有解决方案和项目(解决方案文件夹的项目集)和设置项目(vdproj)。 我的 vdproj(安装项目)有 Post Build Event .. 首先,如何为 vdproj 自动化构建? 我只能执行一个命令以在发布中构建它并将输出(setup.exe,*.msi)复制到另一个文件夹。 回答1 有许多应用程序可以帮助您进行自动构建,例如 Cruise Control。 此外,您可以使用 MSBUILD.EXE(Windows SDK 的一部分)创建您自己的。 回答2 你在使用 Visual Studio 吗? 如果是这样,您可以在批处理文件中使用命令行参数调用IDE“devenv.exe”,例如 devenv.exe YourSolution.sln /build "Release" /out Build.log (devenv.exe 位于 VS 安装的 Common7\IDE\ 文件夹中)。 回答3 使用 TeamCity 它是市场上最好的工具,并拥有免费的专业许可证。 来自 ReSharper 的创建者 - http://www.jetbrains.com。 对于真正的大型项目,我们使用 TeamCity 大约 2 年没有任何问题。 至于 vdproj
  • 交替使用 msbuild 和 devenv 构建相同的解决方案(Building the same solution using msbuild and devenv interchangeably)
    问题 经常发生这样的情况,我首先使用 msbuild 在命令行上构建一些解决方案,运行它一段时间,然后发现我需要更改和调试它。 所以,我在 Visual Studio 中打开它并最终在 Visual Studio 中构建它。 发生的情况是 VS 重建了解决方案的很多部分,即使我什么都没做! 深入研究可以发现以下内容: 在 Visual Studio 中构建会生成空的 cs 文件并将它们注入到Compile项组中。 自然,它们比已经构建的二进制文件更新,因此 devenv.exe 重建了大量项目。 感谢 /obj/debug 破坏构建中的 TemporaryGeneratedFile_[guid] 这是一个真正的无赖。 我通过重命名Microsoft.WorkflowBuildExtensions.targets文件禁用了此行为 - 我不执行工作流。 我想我可以侵入CoreCompileDependsOn并以某种方式从 Microsoft.WorkflowBuildExtensions.targets 中和GenerateCompiledExpressionsTempFile目标,但这必须在 190 个项目中完成! 这是一个严重的变化。 devenv.exe 似乎很在意一些文件总是被复制到输出目录,即使 msbuild 不认为这是一个问题。 实际上,这是 devenv.exe
  • 在构建服务器上构建 .NET Core 1.0 RC2 应用程序(Building .NET Core 1.0 RC2 app on the build server)
    问题 我已将我的应用程序从 DNX、ASP.NET 5 RC1 更新到 ASP.NET Core 1.0 RC2。 它在本地构建并运行良好。 在构建服务器上,我没有安装 Visual Studio,并且构建失败: 错误 MSB4019:未找到导入的项目“C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\DotNet\Microsoft.DotNet.Props”。 确认声明中的路径正确,并且该文件存在于磁盘上。 我确实安装了:.NET Core SDK for Windows。 尝试安装 VS 2015 工具预览失败: 在构建服务器上构建 .NET Core 1.0 RC2 应用程序而无需安装 Visual Studio 2015 的正确设置是什么? 注意:构建框 (TeamCity 9) 为 .NET 4.5 和 DNX 构建/运行测试良好。 回答1 https://docs.microsoft.com/en-us/dotnet/articles/core/windows-prerequisites#issues 问题 由于临时错误,您可能无法为 Visual Studio 2015 安装程序安装 .NET Core Tooling Preview 2。 要解决此问题,请使用SKIP_VSU_CHECK
  • 错误 CS1056:在 tfs 持续集成过程中运行 msbuild 时出现意外字符“$”(Error CS1056: Unexpected character '$' running the msbuild on a tfs continuous integration process)
    问题 我有一个项目,该框架针对.NET Framework 4.6.1 ,作为 tfs 上持续集成过程的一部分,我们创建了一个构建解决方案任务,以确保代码正确编译。 现在 TFS 服务器拥有最新版本的.Net Famework 4.6.2 。 在寄存器上,这是框架的 Release 键的值 在所有其他操作系统版本上:394806 => .NET Framework 4.6.2 但是当构建运行时它会出现这个错误: Error CS1056: Unexpected character '$' 我不想用string.Format替换字符串插值来解决这个问题,请提供另一种解决方法来解决它。 我需要在 TFS 服务器上安装其他东西吗? 回答1 该问题可以通过安装 Nuget 包 Microsoft.Net.Compilers 来解决。 下面是我突出显示的答案的链接:Project builds good with Visual Studio but failed from the command line 该功能是 C#6 的语法糖,尝试安装最新版本的框架 4.6.2 https://www.microsoft.com/en-us/download/details.aspx?id=53345 然后转到您的项目属性并更改目标框架上的应用程序选项以指向最新的。 您无需更改代码即可使用