We are using TFS 2015 on-premise in our sd methodology. Doing this we would like to create our build in TFS, using Visual Studio Build steps. While doing this we would like to insert Documentation (Doxygen) step into the build flow, but every time we included this step, the build failed.
I was trying to get some answers whether we parameterized it faulty or what, so I've dig up the internet. After some research I came to this site:
https://www.visualstudio.com/en-us/docs/build/define/build
On this site I can not see Documentation (Doxygen) anymore, although I saw it earlier. The latest update on this page was at 9/7/2016.
Our TFS 2015 is kept up-to-date, but still has the Doxygen step.
My question: was Doxygen Excluded from TFS somehow, or will it be? What other alternatives do we have to create docuentation with TFS Build?
Thanks in advance,
Collapo
There has never been official support from Microsoft for Doxygen?
http://www.doxygen.nl/helpers.html
Scroll down to:
Visual studio
If you use Visual Studio .NET have a look at Steve King's set of
addins. Greg Engelstad has written a perl script to parse a Visual
Studio .NET solution file (.sln) and run doxygen for each separate
project contained therein.
Jason Williams has written an Addin for Visual Studio 2005 & 2008
which is able to auto-generate doxygen (or DocXml) style comments from
most code elements (file, namespace, class, struct, enum, function,
etc). It parses C, C++, C# and Java code to produce fully formed
doxygen comments, and can update those comments if the code element is
changed, and word-wrap the descriptions to keep them tidy. It uses a
set of user-editable rules to provide automatic descriptions of
elements, parameters and return codes, minimizing the effort involved
in generating doc comments.
jgallardo has also written a Addin for Visual Studio that eases
browsing the documentation generated by doxygen.
An addin for Visual Studio 2005 called DoxyComment was created by
Troels Gram. It is designed to assist you in inserting context
sensitive comment blocks into C/C++ source files. DoxyComment also
comes with an xslt template that lets you generate documentation like
the MSDN library.
If you are using Microsoft's Developer Studio 6.0, an add-in called
DoxBar is available that can be used to run doxygen from within
Developer Studio and to search through the generated HTML help files.
Note: I do not have enough time to maintain DoxBar myself anymore, so
I moved DoxBar to sourceforge. Olivier Sannier has introduced a number
of improvements to DoxBar. If you too want to join the development
team, please register as a user at sourceforge and mail me your user
name.
Bernhard Nowara has written a profile editor, which is a
doxywizard-like tool for Windows. He also created an enhanced version
of DoxBar that includes his editor and some macros for Visual Studio
to ease the preparation of the source code for doxygen. These changed
have been merged into more recent version of doxygen by Olivier
Sannier.
FeinSoftware has released a development tool for Microsoft Visual
Studio .NET (Visual C++) called CommentMaker, which creates
customizable function header that developers can adjust to most
specific documentation requirements. By default it generates doxygen
compatible comments.
Documentation (Doxygen) is an extension provided by 3rd party, it is never officially supported by Microsoft.
And it is a known issue that it does not work properly with TFS2015 On-premise server. Refer to this link for details: Documentation (Doxygen).
Known Issues
We have heard about extension not working properly with TFS 2015 (OnPrem) server.
The Documentation hub doesn't loads in Internet Explorer/Microsoft Edge. (Please use Google Chrome for now)
Related
I'm trying to figure out how (or even if) I can create a custom Visual Studio project template that hooks into the existing ASP.NET Core Web Application template available in Visual Studio 2019?
What I want to do is something similar to madskristensens ASP.NET Core Template Pack (GitHub source code). However instead of VS 2017 I want to do this for VS 2019's revamped "New Project Dialog" window. So imagine adding an additional ASP.NET Core web application template in the place highlighted below.
I am able to create new project templates (both for Visual Studio and for dotnet new) but nothing has worked thus far. Has anyone been able to extend VS 2019 in this way, or was this taken away after VS 2017?
After doing some more investigation between both VS 2017 and 2019 (Community) I was able to successfully figure this out! Man oh man do we need some docs on this because this felt like a doozy!
I was able to use the ASP.NET Core Template pack as a building block for putting something together. For those who don't know, the extensions are designed to add templates to Visual Studio using .nupkg file(s) embedded in the extension. The use of the .nupkg files is similar to how dotnet new works with custom templates. I've got a working prototype on GitHub that supports both Visual Studio 2017 and 2019.
Now if you're like me, you may look at either madskristensens or my project and ask "How in the heck does this work!?" Great question! Here are the details I have the time to fill out right now:
Build out a custom template (or templates) and place them into *.nupkg file(s)
In my sample, my SampleTemplates project contains three different project templates. I generate the .nupkg with dotnet pack
A vs-2017.3.host.json file is required in the .template.config/ folder so that the ASP.NET Web Application wizard can display the template.
At least 1 or more other requirements need to be fulfilled to be displayed in the ASP.NET Web Application wizard, but I haven't yet figured those out, as adding the file to a console app template doesn't cause it to appear. I want to try and figure this out, although I'd love help if anyone already knows!
The template.json needs a Framework symbol to define the list of .NET Core framework targets that are supported by the template.
In doing some testing, it didn't look like the Framework symbol didn't substitute into the .csproj, so that is why my example also includes a TargetFrameworkOverride symbol that the Framework symbol replaces.
Place the .nupkg file(s) into the root of a VSIX extension project and make sure to set the "Include in VSIX" flag to True. I emphasize root because originally I had the NuGet package landing in a build\ folder in my extension and my templates weren't being picked up.
I'll try to put together a README in my example project to provide a better outline of all of the details required to accomplish this. Fingers crossed this helps someone out (or at least help me out in the future when I inevitably forget how I accomplished this)!
Update
As of September 2nd, 2020, the Visual Studio team released an experimental feature to include dotnet new templates within Visual Studio. I have done some exceptionally minimal testing with it, and it does appear to work, but it's not perfect. For example, I created a dotnet new template that scaffolds multiple .csproj files and .sln file, and the output didn't quite match my solution.
This is the Visual Studio blog post describing the announcement: https://devblogs.microsoft.com/dotnet/net-cli-templates-in-visual-studio/
I currently have a custom XAML build workflow which performs a lot of validations based on code structure, folders, file content and even database configuration.
Currently we need to consider to migrate it to TFS 2017, and I'm trying to understand the possibilities, effort and pitfalls and this is where I could use your help.
I have logic built in C# and then I look at MSDN documentation the language seems to be Javascript, GitHub samples seem to be Typescript. Am I forced to use one of this languages? any preferred one or limitations that I should be aware of? Can for instance, I connect to a database directly? or it's better to have an API and just use REST calls?
Can I for instance, use .Net object which have already some wrapped logic?
I also noticed that on the manifest file I can declare inputs, but can I somehow use outputs? For example, I have a task that does validation and in the end I would have a task to send an e-mail with the result of that validation. Is this possible?
Thank you in advance.
You are right in concluding that XAML builds are deprecated. The new Task based system is much more flexible and now that we even have YAML support, you can move to Builds as Code.
The reason you're seeing Build Tasks in TypeScript (which is a superset of JavaScript) because of the cross platform nature of NodeJS. This allows your tasks to run on Windows, Linux and Mac. In the mean time we also got .NET Core support. You can also use PowerShell if that's more of your liking.
Regarding your 'can I connect to a database' question. Yes you can, if you want it is another question. This will massively slow your build down and will make your build fail if there are issues with database connectivity. I would suggest asking a second question here on Stackoverflow to describe your situation and discuss if there is a better alternative.
You can use output variables from your task and reuse these in the next tasks. That's all supported and no problem (see https://roadtoalm.com/2016/08/11/set-output-variable-in-a-powershell-vsts-build-task/ for an example).
There are too many questions here and they are broad.
Whatever, XAML Build are deprecated in TFS 2017 and will not be available in the next version of TFS. VSTS already no longer supports them. So you need to Migrate from XAML builds to new builds (vNext builds). Also this similar thread for your reference : Converting TFS XAML Build Custom Activities into TFS 2015 Build Tasks
Marketplace
While you can make use of custom build tasks with XAML build there is
no centralized or integrated solution for browsing available tasks,
installing them or managing them. With the new builds you can make use
of the quickly-growing Visual Studio Team Services Marketplace. Here,
you can search and browse the many extensions currently available in
the Marketplace.
See WHY SHOULD I LEAVE XAML BUILDS for details.
So, you can find the existing extensions in Marketplace and install them to extend the build process (add correspinding tasks). You can also custom your own extension based on your specific requirements. See Extensions overview.
You can build custom applications or services that integrate with your
Visual Studio Team Services (VSTS) and Team Foundation Server (TFS)
accounts by using the REST APIs to make direct HTTP calls, or
utilize our .NET Client Libraries.
Source here : Integrating with VSTS and Team Foundation Server
To add a custom task you can reference below articles:
Add a build task
Reference for creating custom build tasks within extensions
Developing a Custom Build vNext Task
For the "outputs" validation, you can try it with build alerts.
we have our business apps and size is 64 MB. every time add new functionality or change existing one then we rebuild our setup and deliver to client. so this means every time we are delivering 64 MB or more than that to our client.
we have our main win form project and also there many other class library project in our project solution. i am looking for easy way out to deliver only changes to our client.
may be changes could be there in our win form project or could be there in any class library.
so wherever changes made i just only deliver changes through setup and i want just client would install that setup or run any exe file and could see the changes we made in code.
i create setup with VS2005 setup creation option. how suggest me the best option for creating patch like apps which any client just install and get the changes in his apps. give me the best idea to implement in detail. thanks
When using Wix to generate an installer for your project, you can use it to also generate a patch file which will update only changed files.
Visual Studio 2005 setup projects don't really support Patch building and such. It's meant as a rudimentary solution for building installers. Wix, however, is what Microsoft uses internally to build the setup experience for Visual Studio 2012 and other products. There is a very extensive walk-through available here.
Wix does come with a steep learning curve. Would you have been using Visual Studio 2010 or 2012, then you could take advantage of a couple of templates that make it much easier to build a setup for a given type of application. I don't believe these will work with Visual Studio 2005.
This book might also guide you.
Is there any way to find out whether or not a sharepoint solution which was previously deployed to a 2010 sharepoint site in release mode or debug mode?
thanks,
KS
There was a similiar question asked that can be found here. In short there is a utility called .Net Assembly Information that will give you the information you require. The utility can be downloaded from here.
You can use the excellent tool from Nirsoft which is GacView : http://www.nirsoft.net/dot_net_tools/gac_viewer.html if the dll is now stored in the gac and you don't have any more the initial package. It will allow you to peek into the global assembly cache and gather more information with other tools if needed since you can export the dll to your disk and analyze it peacefully with other tools like the one pointed by Matt.
It seems like it's still not possible to build .vdproj on a build-server without having Visual Studio installed. However, using Wix seems to be a lot more complicated.
Are there any other options to do the following task:
Visual Studio 2010 Solution with multiple projects (.csproj)
Many loose content files (not inside assemblies)
Installer must be built on Build-server without Visual Studio on it (devenv.exe / devenv.com)
Installer must create Registry keys
Installer must associate file extensions with installed product
Installer must support upgrades (version upgrades)
Installer should be able to register COM components
Installer should be able to pre-JIT assemblies
My goal is:
Effort to maintain installer is low
Minimal changes if new project (assembly) is added to solution
Ideal: no changes if new content files are added to any of the projects
Maybe I just did not get the point with Wix, but including project output (like in .vdproj) seems very complicated.
Any suggestions very much appreciated!
OK I decided to go with Wix. Found out that using Votive it's possible to include project output like in .vdproj (Binaries, Content, Symbols and even Source Code).
If I run into more complicated situations where this isn't sufficient, I could fall back to some kind of harvester (Heat, Paraffin).
See some more Links in comments below (too little reputation to post more than 1 link in this post).
Check out InstallShield 2010 Limited Edition ( Free for Visual Studio 2010 users ). It has pretty much all the functionality that VDPROJ ( being retired btw ) has and supports silent builds. You can get one license for your dev box and one license for your build machine pretty easily.