TeamCity Build using C#6

后端 未结 2 1497
悲&欢浪女
悲&欢浪女 2021-01-12 08:49

We use TeamCity (9.0.1) as our build server, but having recently upgraded our ASP.NET MVC solution to use VS2015 and C#6 syntax, I now get the following error message on our

相关标签:
2条回答
  • 2021-01-12 09:37

    I've had this issue before and I think you can resolve it by logging into the TeamCity directory and deleting all the files in the working directory. Or doing a "clean" of the working directory before you do a checkout. I recommend just deleting the files manually. Also with TeamCity 9.1.6, you don't need the full Visual Studio installed on the server, just the Microsoft Build Tools 2015 (https://www.microsoft.com/en-us/download/details.aspx?id=48159), and then use the "MSBuild" runner type or the "Visual Studio (sln)" runner type.

    0 讨论(0)
  • 2021-01-12 09:40

    Finally....we fixed it.

    I had to take the following steps on the Build Server:

    1. Installed VS2015 Update 2
    2. Edit the Environment Variable "PATH" to change one setting from C:\Program Files (x86)\MSBuild\12.0\Bin\; to C:\Program Files (x86)\MSBuild\14.0\Bin\;
    3. Since we use TeamCity to fire off a PowerShell script that in turn fires off the MSBuild. I updated the PowerShell module PSAKE from 4.2 to 4.6 (but this might not have been necessary)
    4. Created a new Environment Variable "MSBuildEmitSolution" and gave that a value of "1"
    5. Copied the file "Microsoft.Build.Tasks.v12.0.dll" from "C:\Program Files (x86)\MSBuild\12.0\Bin\amd64" to "C:\Program Files (x86)\MSBuild\14.0\Bin\amd64". No idea why this was reported as an error in our BUILD log because it's not an AMD machine...
    6. Using NUGET, had to add the package "Microsoft.Net.Compilers" to every C# project that used C#6 syntax (basically, all of them)

    Not all of the above steps may be strictly necessary, but I would suggest that certainly steps 1. and 5. were definitely required.

    HTH

    Griff

    0 讨论(0)
提交回复
热议问题