相关疑难解决方法(0)

Visual Studio 2012解决方案TeamCity中的MSBuild

我有一个VS 2012 web项目/ sln,我正在尝试在TeamCity中构建.它使用安装在TeamCity上的.NET 4.5.

TeamCity服务器仅安装了VS 2010.

构建运行时出现此错误:

C:\BuildAgent\work\d5bc4e1b8005d077\CUSAAdmin.Web\CUSAAdmin.Web.csproj(799, 3): 
error MSB4019: 
The imported project 
    "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\WebApplications\Microsoft.WebApplication.targets" was not found. 
 Confirm that the path in the <Import> declaration is correct, and that the file exists on disk. Project CUSAAdmin.Web\CUSAAdmin.Web.csproj failed. 
 Project CUSAAdmin.sln failed. 
Run Code Online (Sandbox Code Playgroud)

它正在尝试使用Visual Studio 2012(v11.0)进行构建.

虽然我在build.xml中将VisualStudioVersion设置为10

 <Target Name="BuildPackage">
   <MSBuild Projects="CUSAAdmin.sln" ContinueOnError="false" 
     Targets="Rebuild" 
      Properties="Configuration=$(Configuration); VisualStudioVersion=10.0"  />
Run Code Online (Sandbox Code Playgroud)

在项目内部,它也默认为VS2010

  <PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
<VSToolsPath 
    Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
Run Code Online (Sandbox Code Playgroud)

msbuild teamcity visual-studio-2010 visual-studio visual-studio-2012

71
推荐指数
4
解决办法
3万
查看次数

TFS 2013构建.NET 4.6/C#6.0

我们使用TFS 2013作为构建服务器.我已经开始了一个C#6.0项目,我正在努力建立它.我正在使用新的null条件运算符和我的构建chokes.我已经尝试在TFS服务器上安装了几个东西,包括目标包和VS 2015.我已经尝试将/tv:14.0提供给MSBuild参数.

Configuration\EntityEntityConfig.cs(270):无效的表达式术语'.'
Configuration\EntityEntityConfig.cs(283):无效的表达式术语'.'
Configuration\EntityEntityConfig.cs(283):语法错误,':'预期
......等

在这一点上,我不知道还有什么可以尝试.任何建议将不胜感激.

.net tfsbuild tfs2013 c#-6.0 .net-4.6

35
推荐指数
2
解决办法
2万
查看次数

更新构建控制器/代理以构建C#6 /.NET 4.6应用程序

这是场景:

我们使用Visual Studio Online和我们公司网络中的内部部署构建服务器与TFS 2013在门控签入和发布后构建我们的解决方案.

现在我们从Visual Studio 2013升级到Visual Studio 2015 Enterprise并升级到新的.NET版本.我们非常渴望利用C#6的新功能,但在第一次登记后我们经历了构建失败.

(抱歉没有图片,因为我缺乏声誉)

异常消息:MSBuild错误1已结束此构建.您可以在上面的消息中找到有关此错误原因的更多具体信息.(类型BuildProcessTerminateException)异常堆栈跟踪:位于System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem的System.Activities.CodeActivity.InternalExecute(ActivityInstance实例,ActivityExecutor执行程序,BookmarkManager bookmarkManager)的System.Activities.Statements.Throw.Execute(CodeActivityContext context)处. .ExecuteBody(ActivityExecutor executor,BookmarkManager bookmarkManager,Location resultLocation)ApplicationManager.cs(33,0)意外的字符'$'ApplicationManager.cs(33,0); 预期

似乎构建代理不理解新语法并仍然使用旧版本编译.

我为解决这个问题所做的是:

这基本上是安装Visual Studio 2015和新的Microsoft Build Tools

  • 而在步骤这里这是非常有前途的:

我用其中一个模板创建了一个新的构建定义

通过Visual Studio Online的Web访问创建新的代理程序池.下载

ConfigureAgent.ps1并在构建服务器上执行它以创建新的

剂.但我无法弄清楚如何利用新创建的代理.

我的问题是:如何更新构建代理程序以便在没有失败的情况下运行

尊重新的.NET版本?

c# tfsbuild tfs2013 visual-studio-2015

18
推荐指数
2
解决办法
1万
查看次数

即使安装了Microsoft.Net.Compilers,C#6.0构建也会在TFS Build上失败

我的公司有TFS 2013.
我有一个使用C#6.0功能的项目.
我的团队无法直接访问构建服务器.VS2015尚未安装在那里,但管理服务器的人正在寻找安装2015构建工具.

与此同时,我已经安装了Microsoft.Net.Compilers NuGet包,如C#6.0 TFS Builds的答案和其他几个问题所述.

解决方案中的一些项目已经安装了它:( Asp.Net MVC 5项目和Web API项目.)

构建解决方案时,TFS将包中的Rosyln编译器用于某些项目,将默认编译器用于其他项目.

  • 我删除并重新添加了包.
  • 我试过在包的版本1.0.0,1.1.0和1.3.2之间切换.
  • 我并排打开.csproj文件以寻找细微差别.
  • 我已经从相同的项目中创建了多个解决方案和多个构建定义,以查看某些组合是否导致了问题.
    • 其中一个项目总是在构建一部分时使用默认编译器构建,并在构建为另一个构建时使用Roslyn编译器构建.

这两个Web项目从不使用Roslyn编译器.还有3个其他库,一个控制台应用程序,以及包含单元/集成测试的手工项目.除了一个项目(其中一个库)的行为不同,取决于它所在的构建,所有项目在他们使用的编译器中看起来是一致的

我在这里错过了什么?为什么TFS可以将包编译器用于某些项目而不用于其他项目?

构建错误的采样:使用名称:

SomeController.cs (53): The name 'nameof' does not exist in the current context
Run Code Online (Sandbox Code Playgroud)

静态使用:

RedactedTests.cs (5): Identifier expected; 'static' is a keyword
RedactedTests.cs (5): Expected class, delegate, enum, interface, or struct
Run Code Online (Sandbox Code Playgroud)

null合并运算符:

InterestingClassName.cs (40): Invalid expression term '.'
InterestingClassName.cs (40): Syntax error, ':' expected
InterestingClassName.cs (40): Invalid expression term '.'
InterestingClassName.cs (40): Syntax error, ':' expected
Run Code Online (Sandbox Code Playgroud)

表达身体财产: …

tfs c#-6.0

11
推荐指数
1
解决办法
1048
查看次数

TeamCity使用C#6构建

我们使用TeamCity(9.0.1)作为构建服务器,但最近升级了我们的ASP.NET MVC解决方案以使用VS2015和C#6语法,现在我在构建服务器上收到以下错误消息:

无法启动构建运行器

更具体地说:

C:\ TeamCity\buildAgent\work\86ee61c6c333dc3d\MyApplication\MyApplication.csproj.metaproj:错误MSB4025:无法加载项目文件.找不到文件'C:\ TeamCity\buildAgent\work\86ee61c6c333dc3d\MyApplication\MyApplication.csproj.metaproj'.

我在几个不同的帖子中遵循了建议(尽管这些主要是TFS专注而不是TeamCity,并且不直接引用缺少的".metaproj"文件):

总而言之,我对Build Server进行了以下更改:

  1. 安装Visual Studio 2015 Update 2
  2. 更改了执行构建的PowerShell脚本

来自:

msbuild'..\MyApplication.sln'/ t:Build/p:Configuration = Release/p:RunCodeAnalysis = Always /p:VisualStudioVersion=12.0

:

msbuild'..\MyApplication.sln'/ t:Build /tv:14.0/p:GenerateBuildInfoConfigFile = false/p:Configuration = Release/p:RunCodeAnalysis = Always/p:VisualStudioVersion = 14 .0

注意:

  • 如果我登录构建服务器并尝试使用VisualStudio 2015编译解决方案,那么这很好.

  • 在上面提到的一个帖子中,它讨论了从"TfvsTemplate.11.1.xaml"升级到"TfvsTemplate.12.xaml".但据我所知,我不会使用或参考这个.也许我在这里弄错了,在这种情况下,我们将非常感激地接受下一步该做什么的白痴指南.

msbuild teamcity tfsbuild roslyn c#-6.0

7
推荐指数
1
解决办法
4683
查看次数