I use VS 2013 because of Biztalk 2013 developments. Currently we use TFS 2015 with a build agent from TFS 2013 for automatic builds.
We need to migrate all to TFS 2015 and we want to migrate the xaml approach of build definitions to vNext.
Thing is, because of biztalk version, we need to keep using VS2013 and in the view Team Explorer under Builds I cannot see the build definitions created as vNext.
I've searched for plugins/extensions and updates or even some documentation but I couldn't really find anything related to this topic.
VS 2013 and lower versions do not show vNext builds and build definitions, you need VS 2015 and later for that. As an option, if you want to keep an eye on the build status, you can try CatLight build notification tool (check below 1st link) that works independently of Visual Studio and supports vNext builds. Else, Web version is pretty awesome to use and handle.
Incase you have any other queries regarding TFS builds, please let know.
Also, below Microsoft links could be helpful.
vNext builds are not visible in VS Team Explorer pane
VS Compatibility with TFS versions
Just as Daniel said, the vNext build system is entirely web-based and Visual Studio 2013 does not show non-XAML build definitions.
So, you can use below workarounds to see the list of existing build definition (However you can only edit the build definitions via the web portal for vNext build definitions):
Using the web UI : http://server:8080/tfs/Collection/Project/_build
Install Visual Studio 2015+ or at leat install Team Explorer
2017 standalone
Get the build definition list with the REST API: Get a list of
build definitions
Create a Console app and use the BuildHttpClient to make requests,refer to below sample:
using System;
using Microsoft.TeamFoundation.Build.WebApi;
using Microsoft.VisualStudio.Services.Client;
namespace GetBuildDefinition
{
class Program
{
static void Main(string[] args)
{
var tfsUrl = "http://server:8080/tfs/Collection";
var buildClient = new BuildHttpClient(new Uri(tfsUrl), new VssAadCredential());
var definitions = buildClient.GetDefinitionsAsync(project: "ProjectNameHere");
foreach (var definition in definitions.Result)
{
Console.WriteLine(String.Format("{0} - {1}", definition.Id, definition.Name));
}
}
}
}
The build system in TFS 2015+ is entirely web-based. Even VS2015+ will just bounce you to the web to do anything with the builds.
So the answer is, "Get used to using the web UI."
If you have the build definitions in place and you are connected to the correct tfs workspace project, then you should see the list definition on your vs panel, the only thing that you can't do is edit the build definition. As #DanielMann said, from that point on everything is web-based, what you can do is queue a new build and see the list. You don't need any plugin for that
Related
Developers use the Visual Studio (VS) GUI to develop their solutions and get their projects all building using a solution file (.SLN). The build teams using vNext then have to automate those builds using MSBuild instead of devenv.exe (the Visual Studio executable file). This is a serious and chronic problem because not only is MSBuild incapable of building several project types, but the build order is defined in a completely different, and complex, way.
Some Microsoft advice (https://learn.microsoft.com/en-us/archive/blogs/msbuild/incorrect-solution-build-ordering-when-using-msbuild-exe) is to switch to explicit dependencies in each .*proj file and remove all dependency specifications in the .SLN file. This sounds like a person who has never worked in a relatively powerless build team trying to get development teams to:
do a lot of what they perceive as time-wasting extra work and to
change how they do things
What build teams need is a way to automate whatever VS allows dev teams to build. If VS is given a SLN to build, then a vNext build needs to be able to use that same SLN in the same way. Instead vNext currently only offers MSBuild as the build tool. MSBuild has many more options than devenv, so that would be great, IF it could be made to use the SLN to govern dependencies in the same way as VS, and would be upgraded to build all the same project types.
There have been prospective efforts, referenced by PatrickLu-MSFT at Build project using devenv.exe in TFS 15RC1 Build Server, to enhance a vNext build step to allow devenv to be used instead of MSBuild, but those efforts seem to have been dropped.
Maybe someone has developed a custom vNext build step to build using devenv?
Here is an existing extension you can reference, which provides a build task in your TFS/VSTS instance that will allow you to build your projects using DevEnv.com (Visual Studio):
https://marketplace.visualstudio.com/items?itemName=mmajcica.devenv-build
If you want to automatically use TFS/DevOps build whatever solution files our development teams get working using Visual Studio, you could set CI trigger in build pipeline, when the solution build successfully on local, you can check in/commit the changes, and trigger TFS/DevOps builds.
Similar to this question, except we are not using TeamCity. The error I receive in TFS is:
The project file "xyz.rptproj" is not supported by MSBuild
and cannot be built.
In our old process (TFS 2013 XAML builds) we had to create a custom build template to call the IDE. I cannot seem to find a way to do this with TFS 2017. Is it as easy as having a PowerShell script call it?
I am so close yet so far from getting my Visual Studio (MVC) application released through TFS & Release Management. I am using Version 2013 and have my build definition setup as follows:
As you can see it is using the TfvcTemplate.12.xaml as its template, and as such I cannot see the options for Release as I have been finding in all other examples online - eg:
I have gone into Release Management and setup my Release Template to reference this build definition and selected 'Can Trigger a Release from a Build'... but I have nothing happen in RM when I Build in Visual Studio.
What I have also found is that because the application I am building is MVC with Windows Authentication - every time I run a manual release, the Web Site gets rebuilt (as per my release template), but the website is always rebuilt with Windows Authentication Disabled... Which is a pain as I keep having to go into IIS after every release to enable Windows Authentication.
So, my questions are...
1) What am I doing wrong with my version of the Build Definition setup that it will not prompt a release?
2) Do I have to Remove and Create my website on the Release Template... and if so...
3) How do I get around the fact I always have to revisit IIS to enable Windows Authentication after each release?
Thanks!
You need to switch your build template to ReleaseTfvcTemplate.12.xaml.
You can find that file in the folder:
Program Files (x86)\ Microsoft Visual Studio 12.0\ReleaseManagement\bin
You need to check that into your TFS repo, then switch your build definition over to use it.https://msdn.microsoft.com/library/ms181355(v=vs.120).aspx#add_template
It looks like Visual Studio 2012 will not include Visual Studio Setup and Deployment Projects according to MSDN, so I'm currently learning WiX.
Will this loss of functionality extend to Web Deployment Projects?
Web Deployment Projects will NOT be available in VS2012.
Instead we will focus on bringing first class publishing support for Website projects. You can read more details at http://blogs.msdn.com/b/webdev/archive/2012/08/06/plans-regarding-website-projects-and-web-deployment-projects.aspx. In a nutshell, you will have all the same features that WDP has, but a lot more as well. Also another good thing about this is that we will have one experience for both Web App Project as well as Website Project. So when we make enhancements both project systems get it.
If you had any customizations in your WDP, you should be able to copy/paste those into the new web publish profiles (they are MSBuild as well). Take a look at the blog above and please do let me know if you have any concerns.
I'm note sure if the links from user1069816 are relevant.
Visual Studio 2012 has an unsure inclusion of Web Deployment projects, but you can do something about it.
Vote for their inclusion: http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2639368-add-web-deployment-projects-to-vs11
It looks like Web Deployment Projects will still exist in Visual Studio 2012 according to:
http://msdn.microsoft.com/en-us/library/dd394698(v=vs.110)
and
http://blogs.msdn.com/b/aspnetue/archive/2012/06/12/visual-studio-2012-rc-deployment-documentation-published.aspx
I am thinkin about building my first TFS 2008 Build Server. However, I would like to use it with VS 2010 solutions targeting both .NET 3.5 and 4.0. Will this work and what should I watch out for?
Take a look at this post to get some insights on setting this up...
http://blogs.msdn.com/willbar/archive/2009/11/01/building-net-4-0-applications-using-team-build-2008.aspx
Also, take a look at the following. My build failed due to the change in workspace name. I deleted the existing workspace names and had the build process recreate them correctly...
https://connect.microsoft.com/VisualStudio/feedback/details/538958/deleteworkspacetask-fails-on-2008-build-machine-after-installing-visual-studio-2010-rc
Will VS2010 test results get integrated back into TFS2008 for reporting, if this approach is followed?