command line MSBuild works - remote build produces errors - msbuild

I am setting up a process to build remotely a suite of COBOL programs. A virtual machine has Visual Studio 2017 installed along with a Micro Focus COBOL Enterprise Developer 4.0 Visual Studio 2017 plugin. The programs use CICS as their UI and work with a Microsoft SQL Server backend. Opening a developer command prompt in Visual Studio and issuing a MSBuild command with the solution as the parameter successfully builds the programs. A remote build does not - the error is
MSBUILD : error MSB4025: The project file could not be loaded. Root element is missing.
any ideas?

You need to install the "Micro Focus Enterprise Developer Build tools" on the CI machine.

Related

MSBuild SonarQube Runner: "Failed to locate the code coverage command line tool" still with version 1.0.1

I am trying to use MSBuild SonarQube Runner to have my TFS-builds run the Sonar analysis.
I have configured the tool to work with our sonar Server according to this manual. Actually I can start an analysis by building manually via console on my local machine. Additionally, I installed the tool on our build server and when I run it via Visual Studio, I’ll get the error "Failed to locate the code coverage command line tool".
I already found out that the CodeCoverage.exe is needed, but only given with installing an Enterprise version of Visual Studio on the server. I also read that in version 1.0.1, this issue should be fixed (see here and in the changelog this is also mentioned as fixed).
I exchanged the old MSBuild SonarQube Runner with the version 1.0.1, but with building on the TFS in Visual Studio and adding the command lines to run MSBuild SonarQube Runner v1.0.1, I still get the error "Failed to locate the code coverage command line tool".
I also have Visual Studio 2015 Professional installed on the build mashine.
How can I fix this issue without needing an Enterprise version of Visual Studio providing the CodeCoverage.exe?
Code Coverage still requires Visual Studio Enterprise in the 2015 version (see this page).
The bug you referred to fixed an issue in version 1.0 that meant that analysis would fail if the code coverage tool could not be found. Analysis will no longer fail if the code coverage tool was not found, but it doesn't change the requirement to have to VS Enterprise installed if you want to use the Microsoft code coverage tools.

Microsoft Fake in Build server

I have a mstest project that uses Microsoft fake assembly. The test methods are executing fine in my local Visual studio ultimate. I never check in the fake dll in to repository (SVN), assuming that it will be created in the build server (Jenkins). Later I understood that the build server is using MSBuild.exe to build the solution and since MSBuild.exe doesn't know how to create the fake assembly, the build seems failing. Installing the Visual studio ultimate in the build server is the only one option or is there any other ways to execute the unit test (like check in the fake dll in to repository).
You need Visual Studio Ultimate or Visual Studio Premium (if you are using a version later than Visual Studio 2012 Update 2) to be able to generate fakes. Also please make sure that your build script is using vstest.console.exe to execute tests. Fakes is not supported by MSTest.exe

MSBuild Errors for Database Project on TFS server with VS 2013 shell

Continuous Build Database Project fails when building on TFS server. We have Visual Studio 2013 Shell (Integrated) installed. There does not appear to be a way to install SQL Server Data Tools 2013 thru' Tools > Extensions and Updates... menu.
The redacted error is below...
C:\TFSBuild\XXX\XXX\Database_CI\Sources\Database\XXX\XXX.sqlproj (126): The imported project "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk.
Has anyone experienced this? Is there a solution or work-around? Is SSDT available for VS 2013 Shell for SQL Server 2014?
I have recently installed the Visual Studio Shell (Isolated) and (Integrated) on our build server and it does not include the SQL Server tooling components. I found out that SQL Server tooling is built in to the following versions of Visual Studio (see here):
Express for Web,
Express for Windows Desktop,
Professional,
Premium, and
Ultimate
I would recommend installing at least the Professional version and then you should get the SQL Server Data Tools components that are required for building.
SQL Server Tooling is now built into the above listed versions of Visual Studio 2013 (SSDT and Visual Studio versions) and the latest March update of Visual Studio 2013 now includes SQL Server 2014 support (SQL Server Data Tools for SQL Server 2014 is available.)
To force your build to use the correct version of MSBuild set the Process - Advanced - MSBuild arguments = "/p:VisualStudioVersion=12.0" (without the quotes) as shown.
You can download SSDT for VS2012 here and that should get the database pre-reqs on your build server.
I do see mention of "Sql Server Tooling in Visual Studio 2013" on this landing page, and I think it implies these tools should be available with the shell, so if you could, check to see if you have that targets file somewhere on your build server.
Go into C:\Program Files(x86)\ and do a "dir Microsoft.Data.Tools.Schema.SqlTasks.targets /s /b" and see if something comes up.
Right now it's hard-coded to this location:
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets
You might want to see if the file already exists, but in another location, like in an "v12.0" folder instead of the "v11.0" subfolder.
EDIT
Actually, what's the value on line 126 of your .sqlproj?
If it says this:
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v11.0\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets" />
Change it to read:
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets" />
Then have everyone test it using diagnostic logging, then gather the logs and compare them to make sure that version is consistent so you can start phasing out the legacy bits.
I had the same issue and fixed it by downloading and installing the following
dacframework.msi
SQLDOM.MSI
SQLLS.MSI
SQLSysClrTypes.msi
from here:
https://www.microsoft.com/en-au/download/details.aspx?id=42295

TFS 2013 build does not deploy ASP.NET web application

I have a new TFS 2013 instance with its own build server that compiles a solution and deploys a database project without error. I added an MS build activity for deploying the web application projects in the solution to a target server, and that activity appears to execute without error, but nothing is actually published in the target.
Running the same publish profile from within Visual Studio on my local machine works properly. I dont know if it is missing some dependency (Web deploy 3.5 is installed on both the build and target servers, I am reinstalling VS 2013 on the build server).
Are there any specific steps/prerequisites required to make this work correctly on a TFS 2013 build server? I cannot find anything on the web other than "Install VS and MSDeploy".
I have this all working properly on a 2010 build server.
After much testing and enabling diagnostic level logging, I found that the build activity was trying to use VS 2012 (version 11) activity targets for these VS 2013 (version 12) projects. (VS 2010, 2012, and 2013 have been installed on this server to support various build activities)
In the activity specific log file this looks like this...
CodeAnalysisTargets = C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\CodeAnalysis\Microsoft.CodeAnalysis.targets
This was causing the build process to log...
_DeploymentUnpublishable
Skipping unpublishable project
...and skip the publishing.
To fix this, I set the ToolVersion property of the MSBuild activity to "12.0" and re-ran the build

build VS2010 project with TFS2008 build server

is it somehow possible to run tests with it?
I am always getting message:
(CoreTestConfiguration target) ->
MSBUILD : warning : Visual Studio Team System for Software Testers or Visual Studio Team System for Software Developers is required to run tests as part of a Team Build.
Well it is possible, we have such configuration (VS2010 project and TFS2008 where we store it). Probably when you set up the build on build server you have chosen to run the tests with this build - so please install proper Visual Studio version (Visual Studio Team System for Software Testers or Visual Studio Team System for Software Developers) on the Build Machine. Or setup the build without test option.