MSTest setting Apartment Threading to MTA - visual-studio-2010

I'm using MSTest in Visual Studio 2010 on a project that needs the apartment threading model set to MTA.
I've looked online and the items I've found and tried seem to only work with Visual Studio 2008 and 2005, see http://blogs.msdn.com/b/ploeh/archive/2007/10/21/runningmstestinanmta.aspx.
Thanks

You're right, most of the information online is out of date.
I eventually found Microsoft's documentation: How to: Run Unit Tests in MTA mode
You need to open your .testsettings file in an XML editor and add the following:
<TestSettings>
<Execution>
<!-- ... -->
<ExecutionThread apartmentState="MTA" />
</Execution>
</TestSettings>
Then restart Visual Studio. This worked for me.

Related

How do you test a custom VSTS/TFS Check-In Policy in Visual Studio 2017?

I am working on creating a customized VSTS/TFS Check-In Policy. I followed the guidance given from this answer on how to create the check-in policy. Basically, I downloaded the source code from Colin's ALM Policy and made a few modifications to see if I can get it to work.
When I build the installer (vsix) and install the extension, this works just fine (tested against VSTS). However, I want to be able to debug the policy so that I can make modifications and bug fixes more quickly.
The answers given to a similar question seem to work for Visual Studio 2015, however this does not work for Visual Studio 2017; if I set the debug start action to launch Visual Studio 2017 devenv.exe, the check-in policy does not show up. The same check-in policy shows up with Visual Studio 2015 though.
I'm looking for any guidance on how I can debug this check-in policy utilizing Visual Studio 2017.
There is test project (ColinsALMCheckinPolicies.UnitTests) that you can debug. So just need to add breakpoints to the source file, then debug the test method (right click a test method > Debug test)
I hate answering my own question, however I feel it is necessary since this answer helped me out; I found the answer from the MSDN documentation :The Experimental Instance.
Basically, under the VSIX Installer project properties, simply setup the Debug start action and command line arguments using the /rootsuffix Exp argument:
If you do this, it launches the Visual Studio Experimental Instance with the VSIX already installed, and it attaches the process to your development environment too, which allows you to debug your extension.
Also, I agree with the other answer to this question, https://stackoverflow.com/a/43672469/347172, suggesting that a unit testing project will be highly beneficial. It definitely will help to ensure that your code is properly unit tested and working too.

Windows Service Template for Visual Studio 2017

The Windows Service Template no longer displays by-default for new projects in Visual Studio 2017....and the installer has no 'search' capability.
All this AZURE stuff is great, but I still gotta do normal 'on-prem' work too...and I hate maintaining 2 versions of Visual Studio.
Any thoughts here?
Just checked here. I see project "Windows Service (.NET Framework)" under the Windows Classic Desktop folder under Visual C#.
(Visual Basic has a similar entry.)
Only some templates are shown in parent folders, for more specialist templates you need to be more specific.
But also the search finds both.
NB I selected ".NET Desktop" workload on install, which I see you have not.
Check the .NET desktop development option in the installer, then click Modify.
VS2017 --> New project --> Visual Basic or Visual C# --> Windows Classic Desktop --> Windows Service
Also check out this recent post (currently dated 2017-3-30) from MS to do it without the project template:
How to: Write Services Programmatically
The key points are as follows:
Create a new project
Add "System.dll" and "System.ServiceProcess.dll" as References
Create a class inheriting from ServiceBase and create a Program.cs with Main exactly like the template project does
If you are talking Windows Template Studio Universal then You have to install the extension in Visual Studio.
Go to Tools menu >> Extensions & Updates >> Online >>then search for Windows Template Studio
OR go to https://marketplace.visualstudio.com/items?itemName=WASTeamAccount.WindowsTemplateStudio#overview

Save All Files Before Build Gone in Visual Studio 2012?

In Visual Studio 2010, there was a setting under Tools --> Options --> Projects and Solutions --> Build And Run --> Before Building (Save all changes). In VS 2012, this setting appears to be gone, and my solution is not saving before build. Note that the projects I am building is a MakeFile project with Clang/LLVM for the compiler, if that is relevant info.
Is there a setting somewhere that I am missing?
According to the answer provided by Vicky Song (Microsoft), the feature is no longer available. If you wish to submit a feature request, they will consider it.
Reference:
http://social.msdn.microsoft.com/forums/vstudio/en-US/be441ff6-682f-4534-b653-99632a7975a4/before-building-settings
This feature is very useful mainly when considering that many users have the Visual Studio to crash randomly (myself as well). So when I want to run a compile-build-test, I would like to save everything open (including the environment that gets lost on those nasty events)...

Excel won't open/launch VSTO AddIn when running in debug mode of Visual Studio 2010

I had previously installed the VS11 beta, and had some issues with my Visual Studio 2010 instance, which you can see here how they were resolved: Excel AddIn Click Once deployment issue.
Now I have a code base which compiles/builds a vsto, which installs fine and runs fine in Excel 2010. However, when I remove the installed version from Excel, and try to run it directly through Visual Studio 2010, the AddIn does not get loaded into Excel when running in debug configuration mode, in release configuration mode it works fine. Any ideas on why this might be occurring? I've tried re-enabling it through Com AddIns, and a few other things with no luck.
I've found the issue which was not letting me run my project in 'Debug' configuration mode, though it worked in 'Release' mode. At some point, the AddIn, got hard-disabled (not sure if that's the term to use). At that point, trying to re-enable from within Excel doesn't do anything. Within the registry, there is a folder where disabled AddIns are flagged. I deleted all of the keys from this folder except for "(Default)" and now my AddIn works when launching from Visual Studio 2010 in 'Debug' mode.
HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Excel\Resiliency\DisabledItems
When you run through Visual Studio 2010 does it hits the breakpoint in the addin_startup event.
If not try to debug this way
Hope this helps you
You can reenable a hard-disabled Add-In with Excel
http://msdn.microsoft.com/en-us/library/ms268871(v=vs.80).aspx
I had the same problem with a Word VSTO, but there was no Resiliency\DisabledItems folder in my registry, so I think it was never hard disabled (as in #mservidio's solution). What worked for me was to edit the Manifest path in HKEY_USERS\<user key>\Software\Microsoft\Office\Word\Addins\<Add-In name> to reflect the 'Debug' path rather than the 'Release' path.
To find the right folder it might be easiest just searching for the Add-In name and checking that any Manifest keys refer to the Debug path.
I had the same problem in Excel.
The following worked for me:
Go to the following key....
HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Excel\AddInLoadTimes
see if your plug-in is listed. if so, delete it.
now run your app from Visual studio again.
This worked for me, hope it can help someone else.
I also had the same problem, what I didn't understand was :
Why I re-install Office 2016, I don't change my code neither VS setting but I get a cant load error message ?
After many many hours, repairing Office and VS and getting the same error message, I observed that the Addin was starting well in Release config, I started checking the difference between the both config in my code.
I found that debug config was targeting to x86 proc bug release to any cpu
So Office x64 didn't load x86 dlls (in my case)

Has anyone integrated NUnit with Visual Studio 2010?

Has anyone integrated NUnit with Visual Studio? I'm trying to set up a build pipeline like this one. But, I'm pretty new to .NET and I'm still understanding how things work. There are many resources in the internet on NUnit + VS, and I'm confused.
I'd recommend you to use Resharper.
As some say, "It just works".
Disadvantages/side effects of this choice in your case could be:
1. Resharper is not free;
2. Running unit-tests is minor part of Resharper - it also includes tons of other features, which you maybe do not need for now(but you can disable most of them in setttings).
Free solution is - Visual Nunit 2010 Visual studio extension. Free and does exactly what you want.
UPDATE
How to add NUnit to your project.
I've found this tutorial. Follow it step-by-step, I've found it helpful and complete for .NET novices.
The only difference is that in Running Unit-Tests section for running tests author uses test runner tool that is distributed within NUnit itself, but you can use ReSharper runner as described in JetBrains' docs
I'm using this:
http://visualstudiogallery.msdn.microsoft.com/c8164c71-0836-4471-80ce-633383031099
Which works quite well for me. You can access it within VS2010 from View->Other Windows->Visual NUnit
I used TestDriven until it was no longer free, I used Resharper but felt it slowed down my machine too much, I tried the VisualNUnit extension but it appeared to spawn multiple processes of itself that would keep a hold on some of my DLLs, I added NUnit itself as a command under Visual Studio Tools (and also with a toolbar button and some macros in Visual Studio to start the current test and attach) but that cost some effort to set up and didn't feel smooth enough after being spoiled with tools like TestDriven. Eventually I tried NCrunch... I am hooked ever since, and I have even started to favor it over TestDriven! the next tool on my "NUnit bucket list" will be the NUnit extension for Visual Studio 11.
PS: NCrunch should work on your Visual Studio 2010 and the homepage has a very decent demo video.
First download and install the NUnit
Step 1: Open Visual studio
Step 2: Open your project
Step 3: Select Properties from Solution Explorer
Step 4: Select Debug option in the properties window
step 5: select 'Start external program' under the section 'Start Action'
Step 6: Select the path of the NUnit file
Step 7: Save it.
After that when you debug your project NUnit will open.
Setting up Visual C#2010 Express with NUnit
The original and still quite ok test runner.
Test Driven .net
Used to be free, but now costs a small fee unless you're a student or open source developer.
Visual Studio 2011(BETA) is compatible with 2010 and provides test runners out of the box. Refer to Visual Studio 11 Beta Unit Testing – What’s New and Visual Studio 11 Beta - Unit Testing Plugins List. For continuous integration (CI) server U can use TeamCity and also run those test on the server.

Resources