Is Visual Studio Required to run Coded UI tests on a build server? - visual-studio

I have references to
using Microsoft.VisualStudio.TestTools.UITest.Extension;
using Microsoft.VisualStudio.TestTools.UITesting;
But I'm building on a server without Visual Studio installed.
My builds are failing because these dlls can't be found (their path is in the VS install directory on my local machine)
Does this mean VS is required to run these on the build server? Or can I just copy the dlls into some project folder and add them as references?

The recommended approach is to install VS on the build server and the licensing is such that you are able to do that. The team know that this is not an ideal solution but it's the only one we have today. Note that the build server images provided by Microsoft in the hosted environment (tfs.visualstudio.com) have VS2012 and VS2010 installed into them for exactly this type of reason.

Related

Where to find microsoft.mshtml.dll on docker image

In my build server docker image based on mcr.microsoft.com/windows/servercore:1809-amd64, I get a missing reference error to microsoft.mshtml.dll while running the build. The dll is related to the internet explorer which is clearly not installed on that image. I have dotnet framework 4.7.2 SDK and TargetingPack installed on the image, which do not seem to include the file. Is there a SDK or a workload of the visual studio build tools which contains this dll? Is there a way figure out which workload/sdk contains which files?
Among the workloads and components that can be installed with Visual Studio Build Tools as listed here, the dll is contained in Microsoft.VisualStudio.Component.TeamOffice.BuildTools.

TeamCity on EC2 - MSBuildTools Path Not Found, yet manually installed on 2012 Server R2 (AWS)

I'm hoping to get some assistance from you smart people!
I had my CI tool, TeamCity, compile solutions without a problem when VS 2015 was installed however I read from multiple sources that TeamCity does not need VS
Subsequently, I created an EC2 instance and installed JDK, MS BuildTools 2015, the Build Agent, and PsExec on my Build Server and connected it to the EC2 server housing the TeamCity client.
Unfortunately, it is giving off errors for a simple solution. -- http://imgur.com/M8sdDRs
I moved folders from my dev machine to the CI build agent server
Actually, you don't need to install Visual Studio 2010 or Visual Studio 2012 on your CI server. You only need to copy a few folders from a development machine to the same location on the CI server.
• C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web
• C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\WebApplications
The problem is still persisting and I've come to a stand-still and frustrated with the problem.
THANKS SO MUCH!
If you're using the Visual Studio (sln) step runner type then you will need VS installed because that requires devenv.exe to build the solution. Unless you've got specific requirements for that, you should probably switch to using MSBuild as your build engine to remove the dependency on devenv.exe. Configure a build step of type MSBuild, point it at your solution and select Microsoft Build Tools 2015 / 14.0.
I doubt all your problems magically go away though, as you'll still need to stage bits of MSBuild like you've mentioned (WebApplications targets etc). I've had major hassles over the years trying to get a stateless, dependency 'free' agent build configured; Windows / .NET SDK is a can of worms.
Recommendation from TeamCity - Install VS on the CI Server to minimize the potential for errors. I installed the full Community Version, though VS Isolated Shell was fine as well, I wanted to minimize the room for error.
I ensured that: Administration > [Project] > Build Configuration Settings > Agents Requirements had MSBuildTools14.0_x86_Path existing and set my parameters to follow the following great resource - http://blog.anthonybaker.me/2013/04/how-to-automate-builds-with-teamcity_3119.html

Manual offline/installation of SpecFlow

Is it possible to manually install, or perform an offline installation of, SpecFlow? I can install the VS plugin for SpecFlow, but it seems the only way to install the SpecFlow dll is online through NuGet.
My team is behind a firewall without internet access so I am curious to know if this is possible.
Any info/suggestions is greatly appreciated.
If you have the VS extrnsion you don't need the NuGet package. However using the Nuget package and adding it your source tree would ensure that specflow tests can be run even on machines without VS such as build servers, and other developers machines that do not have the SpecFlow extension installed.
Also, you can quite easily add a new NuGet source which can be configured to any folder, either locally or on your internal network. So if you can the SpecFlow extension msi into the office, you can also download the NuGet and make it available.

TFS 2010 Build - Do I need to install Visual Studio 2010 on TFS 2010 Build Server

I have the following error on the build server for code that compiles and passes tests fine locally.
(150): The imported project
"C:\Program
Files\MSBuild\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets"
was not found. Confirm that the path
in the declaration is
correct, and that the file exists on
disk.
I've added the WebApplications folder from my local machine to the appropriate path on the build server but I'm still getting the same error on build.
I believe the recommended approach with TFS2008 was to install VS2008 in it's entirety on the build server. Is this still the case with TFS2010 and VS2010 accordingly? a.k.a Sledgehammer to crack a nut.
Pretty much, especially if you plan on using other features like MSTest. You can try just adding the targets file but you'll probably still have some missing dependencies. You could go through the whole process of fixing the dependencies as you go along but it's probably easier just to install VS 2010 and be done with it.
This blog post seems to describe a way to do what you want without having to install additional software on the build server, if all you need is the .net compilers. It does not cover C++ compiler setup.
I discovered that if you're going to do just "standard" (i realize that's open to interpretation) web apps and non-web apps (e.g. services), you can get away with installing just Visual Studio 2010 Shell, plus Visual Studio 2010 SP1 on the build server. That will get you the missing .targets files.
Since a full VS install is required for advanced features, does anyone know if the build-server-install license cost is waived?

How to avoid installing Microsoft Visual Studio 2008 Team System Database Edition to be able to build DBPro projects on a centralized build server?

I have a DBPro (DataDude) project inside my solution to manage and version the database schema of my application. I use TeamCity 4.0 for continuous integration.
To be able to build a .dbproj, MSBuild tasks and their respective assemblies have to be installed, other .dbschema and .xsd dependencies put in place. The easiest solution is to install VS2008 TS: Database Edition on the build server.. something i'd love to avoid. I have started putting the files in place one by one bot got bored after the build failed on some missing XSD files installed by VSTSDB.
Has anyone found an easy way to avoid installing VSTSDB? A community-made 'redist' installer that puts the right files in the right place and the right assemblies into the GAC? The topic is pretty hard to google so I am hoping to tap the stack overflow knowledge base :)
I am aware of the Deploy folder and vsdbcmd.exe but I would like to build (and deploy).
No. Not according to this post by Gert Drapers
The question is if you are able to build the db using command line (like devenv.exe with some arguments)? If so I see no problem installing the dev environment and executing through a command line task in MSBuild on the build servers. I do the same thing for MSI installers in the projects I manage.

Resources