Can I do database deployments, without installing Visual Studio or VSTSDB? - tfs

In setting up our TFS 2010 build machine we are trying to avoid installing Visual Studio (2005/2008/2010). For most builds just installing the necessary SDK has allowed us to get good builds w/o visual studio.
However, with VSTSDB (Visual Studio Team System Database for professionals) I'm unable to identify what (if any) SDK is available to be installed rather than installing VSTSDB on the build machine. Does such an SDK exist?

The TFS 2010 Build Service can build Database Projects out-of-the-box. It doesn't require any additional components.

Another way to deploy a database project from the command line, is to use the VSDBCMD utility.
The install process is as simple copying some binaries onto your build machine.
This negates having to install Visual Studio or TFS.
This comes in very handy, where you might be doing manual/adhoc installs on machines where team foundation server isn't installed.
Microsoft recommend this too, see:
How to: Prepare a Database for Deployment From a Command Prompt by Using VSDBCMD.EXE
Note:
Ensure you read the section titled Special Requirements for 64-bit Operating Systems, as you will need to install the correct versions of SQL Server CE for this to work correctly.

Related

"System cannot find the file specified" when adding a new Azure IoT Edge module in Visual Studio

I've followed these steps exactly and am getting the error below:
Select File > New > Project...
In the new project window, search for IoT Edge and choose the Azure IoT Edge (Windows amd64) project. Click Next.
In the configure your new project window, rename the project and solution to something descriptive like CSharpTutorialApp. Click Create to create the project.
In the Add Module window, configure your project with the following values:
Select Add to create the module.
I get this error regardless of the combination of solution folders, module names, and any other parameters that I enter during this workflow:
The system cannot find the file specified. (Exception from HRESULT: 0x80070002)
The net result is that no changes are made to the solution -- no IoT Edge module project is created, no other files are altered.
I've tried running Visual Studio 2019 (16.4.3) as administrator, uninstalling and reinstalling the Azure IoT Edge Tools extension, all without success.
What can I do to troubleshoot this further?
Update 1: I've double-checked all documented prerequisites and still have this issue.
Visual Studio 2019 16.4.3, all prerequisite Visual Studio workloads installed
.NET Core workload installed the latest -- 3.1 LTS SDK -- only. Is there a hidden dependency on a specific older .NET Core 2.x SDK somewhere? Or is the documentation for VS Code on the subject out of date? (I'm using VS but was looking everywhere to see if I had missed anything)
Git for Windows installed (via Visual Studio Installer)
Docker Windows Desktop installed & switched to Windows containers
Azure IoT Edge Tools for VS 2019 installed (and uninstalled & reinstalled)
no UNC/FQ paths in the item or project template locations:
C:\Users\larsk\OneDrive\Documents\Visual Studio 2019\Templates\ProjectTemplates
C:\Users\larsk\OneDrive\Documents\Visual Studio 2019\Templates\ItemTemplates
multiple reboots
this is on a machine that just recently got the latest (1909) version of Win10 Pro reinstalled on it.
Update 2: Updating to Visual Studio 2019 16.4.4 did not help either.
The solution turned out to be running a Repair operation through the Visual Studio Installer.

TFS 2015 build SGEN error: 'assembly with incorrect format'

We are upgrading our TFS build system from 2012 to 2015, and are recreating our build machine. We setup the build service, installed necessary dependencies etc. The (legacy) XAML builds are working fine except for the following SGEN error:
SGEN: An attempt was made to load an assembly with an incorrect format: (location of compiled project .dll)
After much Googling and and reading a number of stack overflow articles, I am still at a loss. I referred to multiple pages including:
- SGEN: An attempt was made to load an assembly with an incorrect format
I have tried
Installing Windows SDK 8.1 (and 8.0), 6.1, SDK for Win Server 2008 .net 3.5
Installing .Net 3.5 to 4.6.1
Installing Visual Studio 2010, 2012, 2015
Changing the TFS Build XMAL template file setting MSBuildPlatform to x86 (Microsoft.TeamFoundation.Build.Workflow.Activities.ToolPlatform.x86)
Verified the Generate serialization stratgy setting is set to auto for all projects
Changed the Build definition MSBuildPlatform and 'configuration to build' settings to x86, but this generated multiple (unrelated) errors. Ultimately the compiled projects needs to run as x64.
Also
There is no sgen.exe in the C:/Program Files/.... although there are multiple in C:\Program Files (x86). I cannot confirm that there is an x64 version on the system at all, nor can I find where to install one.
Setting the build 'configuration to build' option to x86 is not an option: this needs to be compiled as x64
We are building a very large code base that is owned by a different team, so changing the .SLN or .csproj files is not really a good solution unless absolutely necessary.
The target platforms in the solution and project files were not correct. I believe in the process of resolving other issues, I had modified the project and solution files platform targets.
Since this upgrade was a trial run, we were able to run the upgrade again, which in effect rolled the code back to the last pre-upgrade set of code.

deploy qbsdk application using Visual Studio 2010

i created a windows form application in VS2010 using QBSDK.
my problem is that the target has QB installed and running, but i get an error when trying to deploy my one-click application. (the error is just that the application generated an error - and i cannot find the log file to see what actually happened).
to solve it, If i install the QBSDK onto the target machine, it runs fine.
My question is:
what do i need to include in my deployment so i DONT have to install the SDK?
You need to install the SDK redistributable components for any application that uses the SDK to work. If you are using QBFC, RDS or the QBO connector, there are only two supported ways to distribute these components:
1. You can use the stand-alone compressed-image installers that Intuit provides.
2. You can use the merge modules that Intuit provides.
I don't use ClickOnce deployment, but I think that if you are using ClickOnce deployment you can not include merge modules. I think there's a way to create a custom prerequisite that will install using the stand alone installer; http://msdn.microsoft.com/en-us/library/ms165429%28VS.80%29.aspx
If you don't want to go that route, you would need to use another deployment option. In Visual Studio 2010, you can create a Visual Studio Installer Setup Project that you can add the merge modules into. This project type is NOT available in the Express editions of Visual Studio, though.
There is a section in the QBSDK Programmer's Guide that gives some more details about deploying the SDK with your application.

Web.config fail to transform on TFS 2012

I currently work on a MVC 4.0 project that was upgraded to MVC 5.0 using the official guide.
I use Visual Studio 2012 locally and a publish profile was created for the project.
Locally I call msbuild via the Visual Studio developer command prompt using: msbuild /m /p:Configuration=Dev;DeployOnBuild=true;PublishProfile=Dev my-solution.sln
All projects in the solutions do have a Dev configuration and there is a web.dev.config.
The command line on the server is the same.
So far the difference is that on the server only the visual studio shell is installed (not the full) and we cannot install the full instance of VS2012 on the server.
Also, seeing on the install of TFS on the server, I discovered that only v9.0 target files were installed (Visual Studio 2008). Copying Visual Studio 2012 target files do not fix this problem.
I see 2 solutions so far but searching for a third.
Install full Visual Studio 2012 instance
Update csproj to include a target transformConfigFiles (basically copy and paste the content of the "Microsoft.Web.Publishing.targets" section) or import the file via a declaration inside of the .csproj
Would there be a third solution available?
It is pretty common to install full Visual Studio on your build server. As of VS 2012 you couldn't even run Unit Tests in your build without VS installed.
I'd suggest installing VS and seeing if that fixes the issue.

What is required for doing Unit Tests on a Build Server?

I am doing unit tests (no additional frameworks other then what comes out of the box with VS 2013).
It all works locally. What do I need to do to get it working on the build server? The build server is a TFS 2013. There are no visual studio installed other then an 2010 version. I have already moved all the 4.5 .net stuff and .targets files from my visual studio to the build server to be able to compile 4.5 dlls and azure projects.
First I had problem with the build template was using AgileRunner or something thats coming with VS2013. I changed that to MSTest. Is this the correct change? Is there any installers for MSTest only without visual studio that I can install on the build server?
My boss prefers if I can avoid installing Vs2013 on the build server.
Just install Visual Studio on the build server; It is a very common practice. The requirement is mentioned in the installation guidelines. You can have visual Studio 2010 and 2013 installed side-by-side if that is desired. There are so many parts of .NET that depend on it.
Install Visual Studio and other software to enable compilation and other capabilities
You must install on the build agent the version of Visual Studio that your team uses on its dev machines. See Installing Visual Studio. You must also install any other software and components that are installed on your dev machines and that are required to build your app.
http://msdn.microsoft.com/en-us/library/bb399135.aspx#software
You're even allowed to use an existing license for the build server, so there are no additional costs involved if you own an MSDN subscription:
Using Visual Studio on the Build Server
If you have one or more
licensed users of Visual Studio Ultimate with MSDN, Visual Studio
Premium with MSDN, or Visual Studio Professional with MSDN, then you
may also install the Visual Studio software as part of Team Foundation
Server 2013 Build Services. This way, you do not need to purchase a
Visual Studio license to cover the running of Visual Studio on the
build server for each person whose actions initiate a build.
http://www.microsoft.com/en-us/download/details.aspx?id=13350
Is there a specific reason for you boss to not want Visual Studio to be installed?
With regards to the Agile Test Runner, it is the improved test runner that shipped with Visual Studio 2012, it's the replacement of the old MsTest runner, and will replace the old MsTest runner for the last few features for which the old runner is still needed. Though the MsTest runner will still work, certain features will not be as easy to use and confugure (like Code Coverage gathering). The Agile test runner is also required for other test framwork extensibility options, including XUnit .NET, NUnit, but also Javascript Unit Test support (using Chutzpah).
Other features that will require Visual Studio to be installed include:
Code Analysis
Code coverage
MsDeploy / WebDeploy
SQL Server Data Tools
and others.
As an alternative to get just the test runners, you could attempt to install the TFS Test Controller and Agent to the server (you don't need to configure them), the Test Agent will install a number of testing related features without actually installing the Visual Studio Shell.
By not installing Visual Studio on your build server, you are violating the license agreement with Microsoft. Although Microsoft themselves might build without installing Visual Studio on their build servers internally, this scenario is definitely not supported officially.
Building without installing Visual Studio is asking for undefined behavior and jeopardizing the integrity of your builds. I would suggest to stay clear from these attempts until Microsoft officially supports this scenario.
Microsoft strongly recommended not to build without installing Visual Studio when we asked as Gold Partner 2 years back as it was not supported in any way officially and there is no license model covering the scenario.

Resources