gpt4 book ai didi

c# - 在 TFS 2012 上构建 c#6.0

转载 作者:IT王子 更新时间:2023-10-29 04:31:02 31 4
gpt4 key购买 nike

如何在 TFS 2012 上使用 C# 6.0 功能构建 Visual Studio 2015 解决方案,而无需在构建代理上安装 Visual Studio 2015(使用 Microsoft Build Tools 2015 RC)

我已经安装了 MSBuild 工具,但仍然出现异常。如何告诉我的构建模板使用 MSBuild 14(仅适用于一个项目)

为什么我的 TFS 2012 编译异步和等待 (c# 5.0) 没有任何问题,而 BuildAgent 只安装了 Visual Studio 2012?

我尝试将 BuildProcessTemplate 的 ToolPath 更改为 MSBuild/14.0/但出现构建错误:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.CSharp.targets (316): "csc2.exe" exited with code -532462766.

安装 Microsoft.Net.Compilers 1.0.0-rc2 编译器会出现同样的错误。

如果我使用命令行编译项目,我会得到完全相同的错误/尽管在我的开发机器上使用带有完全相同参数的命令行时没有错误。

这是我在命令行中得到的异常:

C:\Program Files (x86)\MSBuild\14.0\bin\csc2.exe /noconfig /nowarn:1701,1702 /nostdlib+ /errorreport:prompt /warn:4 /define:TRACE /highentro.....
Unhandled Exception: System.InvalidProgramException: Common Language Runtime detected an invalid program.
at System.Collections.Immutable.SecurePooledObject`1.Use[TCaller](TCaller& caller)
at System.Collections.Immutable.SortedInt32KeyNode`1.Enumerator.PushLeft(SortedInt32KeyNode`1 node)
at System.Collections.Immutable.SortedInt32KeyNode`1.Enumerator..ctor(SortedInt32KeyNode`1 root)
at System.Collections.Immutable.ImmutableDictionary`2.Enumerator..ctor(SortedInt32KeyNode`1 root, Builder builder)
at Microsoft.CodeAnalysis.RuleSet.GetDiagnosticOptionsFromRulesetFile(Dictionary`2 diagnosticOptions, String resolvedPath, IList`1 diagnosticsOpt, CommonMessageProvider messageProviderOpt)
at Microsoft.CodeAnalysis.CSharp.CSharpCommandLineParser.Parse(IEnumerable`1 args, String baseDirectory, String additionalReferencePaths)
at Microsoft.CodeAnalysis.CSharp.CSharpCommandLineParser.CommonParse(IEnumerable`1 args, String baseDirectory, String additionalReferencePaths)
at Microsoft.CodeAnalysis.CommonCompiler..ctor(CommandLineParser parser, String responseFile, String[] args, String baseDirectory, String additionalReferencePaths)
at Microsoft.CodeAnalysis.CSharp.CSharpCompiler..ctor(CSharpCommandLineParser parser, String responseFile, String[] args, String baseDirectory, String additionalReferencePaths)
at Microsoft.CodeAnalysis.CSharp.CommandLine.Csc..ctor(String responseFile, String baseDirectory, String[] args)
at Microsoft.CodeAnalysis.CSharp.CommandLine.Csc.Run(String[] args)
at Microsoft.CodeAnalysis.BuildTasks.BuildClient.RunWithConsoleOutput(String[] args, RequestLanguage language, Func`2 fallbackCompiler)
at Microsoft.CodeAnalysis.CSharp.CommandLine.Program.Main(String[] args)
at Microsoft.CodeAnalysis.CSharp.CommandLine.Csc2.Main(String[] args)

最佳答案

我使用的是 TFS2013 U5,但它是一样的:

  • 在 BuildServer 机器上安装了 VS2015 RTM
  • 将其放入 BuildTemplate 的 Process 部分的 MSBuild 参数中

/tv:14.0 /p:GenerateBuildInfoConfigFile=false /p:VisualStudioVersion=14.0

编译和 VS 单元测试现在运行正常。

关于c# - 在 TFS 2012 上构建 c#6.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30029267/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com