Visual Studio 2012 Express Code Analysis - visual-studio-2012

The Microsoft documentation talks about a limited set of code analysis tools being available for the express edition (e.g. Microsoft Visual Studio Blog ).
I am using VS 2012 update 3, and can not see any code analysis options in context menus, or any buttons or menu options. I am pretty sure I ran some code analysis at some point, but that might have been before update 2 was installed.
Does anyone know if this option has been removed from more recent express editions, and if not where I can find the appropriate menu item or settings to be able to run and view the results of code analysis.
Edit
there is a very clear description given below by Crippledsmurf, and it is obviously possible to access Code Analysis from vs express. I must have somehow changed some option, because none of the options described are accessible:
Solution explorer - solution context menu:
project context menu:
project properties:

As far as I know, code analysis is only available in VS Express 2012 For Windows Desktop - if you have some other version than the "for Windows Desktop" version, it may not be supported. Try Googling your specific version to make sure.
It may be that these options are not supported by your "platform toolset" (project properties -> general -> platform toolset).
For example, v110 supports it, v110_xp does not seem to.
You can still try the "Build" menu -> "Run Code Analysis on Solution" (or hit the hotkey Alt-F11) but this will, if this is your problem, give you "error MSB8026: Static analysis is not supported with the current platform toolset."
If that doesn't work, try project properties -> C/C++ -> General -> SDL checks and setting that to "Yes (/sdl)". I vaguely remember that it didn't show up for me until I did that, but even when I remove that option again, the code analysis option doesn't go away, so might not be related.
If you need (as I do) a different platform toolset for your normal builds, which does not support code analysis, then rather than beak your Debug or Release configurations, it may be better to create a separate "Analyze" configuration: project properties -> "Configuration Manager" -> Active solution configuration -> "New..." -> type "Analyze", copy across the settings from "Debug". Then you can set the platform toolset in there, and enable analysis, and not worry about it breaking your normal configurations.
Even after all that though, I can't get it to find any errors, even though I know errors exist. So, ymmv.

Code Analysis does indeed exist in Visual Studio 2012 Express Edition. It has been present since the initial release and is still present after Update 3.
To run code analysis on a project or solution:
Open the project or solution
From the Solution Explorer right click on the project or solution you want to run Code Analysis on
From the right click menu choose Run Code Analysis.
Having completed the steps above you should see the Code Analysis user interface which should look similar to:
Settings to control Code Analysis are found in project properties on the Code Analysis tab. Specifically in Visual Studio Express for Desktop, I am able to control:
Whether or not Code Analysis runs on build
Suppression of Code Analysis results for managed code that has been generated.
For reference, I tested this in Visual Studio Express Edition 2012 for Desktop with Update 3 applied. I can confirm the option is present for C# and Visual Basic projects

I'm using Visual Studio 2013, but my solution was to change the Target Platform in the Project settings.
Project Properties -> Configuration Properties -> General -> Platform Toolset -> VS2013 (v120), instead of VS2013 - Windows XP)

Related

Outlook Web-App with React, NPM and Debug

I want start to implement an Outlook 365 Web Add-In.
After all, I decided to create it with React.
I already tried to set up some project's but all of them have a lot disadvantages:
Visual Studio 2017 Office 365 Outlook Project:
Pro:
Client debugging support (quite important)
Con:
As it's a Web-Project, hosted by IIS, I cannot work with NPM (YARN) and Webpack (without lot of frustration) and compile ES6, JSX code to ES5 and debug that stuff
Visual Studio Code:
Pro:
Node and NPM Support
Can easily work with React and ES6/7/JSX
Contra:
No debugging support for client side
Question
However MS has written in it's own documentation that till this day we're unable to debug JS-Code with Visual Studio Code in Outlook, is there maybe an comfortable alternative to do it?
I don't want to give up work with React and ES6 so is there a way to do it with VS-Web Projects and IIS?
What is in your opinion the best work flow for my needs?
Thank's!
There is a middle ground where you can use VS Code but still have decent (albeit not quite as tightly integrated as in VS debugging). The trick is just to make sure that you have Visual Studio, but it needn't be a VS project that you are debugging:
If you are on Outlook for PC / Desktop: See https://dev.office.com/blogs/attach-debugger-from-the-task-pane. The article shows you how to attach in the context of Word, but the same applies to Outlook (and instead of using the "Personality Menu", you can just right-click and see the same "attach debugger" option).
If you are debugging a web version of Outlook, that's even easier: just open up your browser's F12 tools.
Hope this helps!

visual studio express 2012 version control

I have been sent a working project from a coworker to start learning Visual Studio. The project is under version control, however I don't want to have access to final customer product. So when I try to open the solution file I first get a message that the project is under source control:
"Team Foundation Server Version Control
The solution you are opening is bound to source control on the following Team foundation Serer:
http:// . Would you like to contact this server to try to enable source control integration?"
[yes] [no] [help]
I press no, then I get an error:
"The solution appears to be under source control, but its binding information cannot be found. Because it is not possible to recover the missing information automatically, the projects whose bindings are missing will be treated as not under source control."
[ok] [help]
I proceed and press ok, and another message pops up:
"projectname\projectname.tsproj: The application which this project type is based on was not found. Please try this link for further information: http://go.microsoft.com/fwlink/?prd=12395&pver=11&sbp=ProjectTypeDeprecated&plcid=0x409&clcid=0x409&ar=MSDN&sar=ProjectCompatibility&o1=B1E792BE-AA5F-4E3C-8C82-674BF9C0715B"
My coworker tells me he sent the whole project, so I can't figure out why I cant get visual studio to open it. I am new to visual studio, but I have some programming experience.
Any help is much appreciated.
Thank you
It is doubtful that version control has something to do with your problem. There are two possibilities I could think of:
Your coworker uses full version of VS2012 and you are now having problems due to the fact that Visual Studio Express comes in two main flavours - Web and Desktop. It is unable to load Web(or Desktop) project because it just does not have any tools to work with it. Ask your coworker whether they mix web and desktop in their solutions. If it is so you should either use full VS or be given a reduced set of projects.
Nearly the same - your coworker uses some very old or very new version of particular project type (something like ASP.NET MVC that(as I remember) has different project type for each version). Again ask your coworker if it is so. In this case you will just have to install the needed templates and SDKs.
P.S. I was unable to open your link - it opens microsoft.com/default(maybe due to some regional problems). Search by key words brought to me similar problem for VS2010 http://connect.microsoft.com/VisualStudio/feedback/details/728847/could-not-open-vs2010-solution-with-mvc-project - may be it could help you more specifically.

VS 2012 Intellisense broken for external DLLs

I have a Visual Studio 2012 project with a reference to a Sitecore DLL. (Sitecore is a vendor.)
For a few weeks, Intellisense has worked fine. Yesterday, after installing Patch Tuesday updates and rebooting, Intellisense no longer works for stuff in the Sitecore DLL. I don't know whether there is a correspondence.
Intellisense still works for .NET Framework stuff. E.g., if I type string. inside a method, I get Intellisense.
The project has a reference to the Sitecore namespace defined under References in Solution Explorer. Specifically, the reference is Sitecore.Kernel, and it comes from Sitecore.Kernel.dll.
If I right click on Sitecore.Kernel under References and select View in Object Browser, I can browse the DLL just fine. Also, my project builds fine; the project has a few using statements referencing parts of the Sitecore.* name space, and it uses objects in those namespaces.
If I type using Site and press Ctrl-space, I should see Intellisense suggesting {} Sitecore, but all it shows is this:
If I attempt to use Intellisense on any object in a Sitecore namespace, I get no Intellisense suggestions.
The suggestions in other areas don't work. For example:
Edit > IntelliSense > Refresh Local Cache: There is no Refresh Local Cache option. Yes, I did have a CS file open, and was editing it then.
Delete %AppData%\Roaming\Microsoft\VisualStudio\11.0\ReflectedSchemas: There is no ReflectedSchemas folder there.
TOOLS > Import and Export Settings > Reset all settings: Did not bring back Intellisense for external stuff.
In Visual Studio Command Prompt, run devenv /resetuserdata: Seems to have done something similar to the prior technique. Had no effect on Intellisense.
Check TOOLS > Options > Text Editor > C#: Both Auto list members and Parameter information are checked. I think these would have been reset by the prior two steps anyway.
Through the VS 2012 installer (Control Panel > Uninstall a program), repair the entire VS installation. Had no effect.
Remove and add back Sitecore.Kernel under References. Had no effect.
Here's where it gets really weird: if I open this project remotely from a different workstation--which also has yesterday's Patch Tuesday stuff installed and rebooted--Intellisense works fine! I am referring to it using \computername\c$....
I'm not sure what else to try.
For reasons I don't understand, I was able to get Intellisense back by creating a new project and setting it up pretty much exactly like the old project.
Your web project will also need to have some Sitecore config files in the App_Config folder in the project's directory. (Not necessarily included in the project).
I've blogged about it here:-
http://www.seanholmesby.com/fixing-visual-studio-intellisense-in-sitecore-mvc-views/

How do I create an InstallShield LE project to install a windows service?

I downloaded Visual Studio 2012 yesterday when it was released on MSDN. I have noticed that a few of the project types that we had in 2010 are gone or different. The biggest difference for me right now is the removal of the Windows Installer project. Now we are being forced to use the InstallShield LE (Limited Edition). The problem here is that I write a ton of Windows Services and I can't see how to setup InstallShield LE. It appears that we (my company) will have to invest in licenses for the professional edition.
Has anyone found a way to install services in InstallShield LE? When using the Windows Installer project, you just set the custom actions.
For Visual Studio 2012 & InstallShield LE, do the following:
Run through the InstallShield project assistant and add the primary output of your service to the Application files section.
After you are done with the project assistant, double click the "Files" item under step two of the setup project.
Right click on the primary output of your service, and go to properties.
Click the "COM and .NET Settings" tab, and place a check in the "Installer Class" checkbox.
Click Ok
Now, once you build and run your install, your service will show up in the Windows Services snap in.
Note that this assumes you added a "Project Installer" to your service project (Right click on the service design sheet and click "add installer"). I can confirm this work on Windows 8 with Visual Studio 2012 / InstallShield LE.
I've recently installed VS 2012 with Install Shield LE. At first I kept getting a ISEXP -5036 internal server error after a build (this was after setting up a ISLE project and running through the Install Shield Project Assistant). Eventually I found out that it was trying to create the MSI in the DVD-5 media type which is where it was failing. For some reason, creating the solution again from scratch somehow recognizes to only build to the CD_ROM and SingleImage media types which works.
Anyway to rectify the 5036 error, click the Build tab in VS 2012 (top menu), select configuration manager and you should see that your IS setup file is selected on the DVD-5 configuration. Change this to CD_ROM and click close. Once you build/rebuild it will complete with no IS 5036 error.
While using the installer class checkbox may work for some instances, you may experience the following error:
Error 1001.The specified service already exists
Here is an excerpt from this link on how to resolve this issue:
For Error: Error 1001.The specified service already exists
This error will occur if the component installing a .NET Service is
incorrectly configured with ".NET Installer Class" set to Yes. The
method to install a .NET Service is to use Component\Advanced
Settings\Services view, not the ".NET Installer Class" setting.
Making definitions in the Component\Advanced Settings\Services view
creates entries in the Windows Installer ServiceControl and
ServiceInstall Tables. These entries are used by the Windows
Installer "InstallServices" action to install the Service.
If your project is .NET, then try then you can use the ServiceProcessInstaller class with InstallShield LE.
To get it to work with InstallShield, you have to go into the InstallShield "files" tree and right click on your file. Then check the checkbox for "Installer class" on the "COM and .NET settings" tab.
I have gotten it to work, but I've had problems on some OS's like Windows 2008R2. Your mileage may vary.
Here is an example: http://www.codeproject.com/Articles/14353/Creating-a-Basic-Windows-Service-in-C
I had all sorts of problems with this.
As follows.
InstallShield takes ages to download
the registration process is a pain.
the configuration options are confusing and overly complex.
the accepted solution on this thread is a hack and it doesn't always work - see 1001 in the documentation - essentially you need to get through the paywall to get the right configuration options to install a windows service.
Solution for me as mentioned elsewhere - was to abandon InstallShield
Very easy from that point.
Edit: Update - install the latest version from here https://wix.codeplex.com/releases/view/115492 for vs 2013 / 2015
Visual Studio setup projects are back in VS 2013 as a visual studio extension.
https://visualstudiogallery.msdn.microsoft.com/9abe329c-9bba-44a1-be59-0fbf6151054d
Please update your solution and projects to VS 2013. If you are still in VS 2010, you are probably better off by upgrading directly to VS 2013.
My experience with Installsheild LE is that it is very quirky but once you figure out the tricks, it is easier to use. However, I think that the limited edition is a way by Microsoft and Flexera to sell the fully featured edition. In other words, first we pay Microsoft a lot of money for Visual Studio and then their partner (in crime) more for Installsheild. Bad strategy which did not work out since they had to bring back the setup projects in VS 2013.
I've written about this subject:
Augmenting InstallShield using Windows Installer XML - Windows Services
Basically you create a merge module using WiX to encapsulate the service and then add it to your installshield project. ( Be sure to associate to the INSTALLDIR directory to make sure your file goes where you expect ). Build and test on a VM. Piece of cake.
I'm using VS2012 and Installshield LE Spring Edition. I did not have to use Wix.
If you encounter the error "Could not create _isconfig.xml for use with InstallUtilLib.dll", please create a folder with the same name as your setup project and inside the setup project folder.
Credits to http://community.flexerasoftware.com/showthread.php?165929-Could-not-create-_isconfig-xml-for-use-with-InstallUtilLib-dll
I just got some problems finding where to add installer as referred in the answer. So here it is how.
Double click on your service class within your Windows service Project
A blank screen with the text "To add components to your class, drag them from the Toolbox and use the Properties window to set their properties..."
Right click anywhere but on the links and select "Add Installer"
see ya
Bear in mind that all the above explanation will not help you if you plan to create later an upgrade of that setup. InstallShiled LE can't stop the running service when you upgrade. You can't do it either from Window Service Installer -> BeforeInstall event.
Wanted to put this here;
On VS 2015, when doing this, I ran into the 1001 error upon installation repeatedly.
Answer on this page explained that on the newer versions (anything past 2012), apparently you need to explicitly leave the installer class option unchecked, and then add your windows service under the Services section under Step 3 of the installer project:
Error 1001 when installing custom Windows Service

Adding Prerequisites using InstallShield 2010

I am very new to Installshield 2010. I have created a basic MSI setup for my application.
I need to check a few prerequisites for my application those are as below.
Microsoft frame work 3.5 with SP1.
Sql Express 2005.
Visual C++ redistributable
If any of the above things are not installed before means, I have to install while installing my application.
Can anyone guide me How I can install all these prerequisites before I installing my application?
Take a look at "Setup Prerequisites" and "Feature Prerequistes" They are the same except that the former are installed by setupe.exe before calling your MSI and the latter are installed by setup.exe (conditionally) after your feature selection and prior to the execution of the execute sequence in your msi.
If you go for the former, you probably also want to author AppSearch/System Search and Launch Conditions to block your MSI in case the user doesn't enter through the setup.exe.
InstallShield has predefined prereqs ( .PRQ's ) for each of those although I will caution you to atleast use SQL 2005 SP3 as there is a nasty bug in SP2 that can blue screen an XP machine. I'd actually really consider going with SQL 2008 R2.
Also found more info here in this page: http://kb.flexerasoftware.com/doc/Helpnet/InstallShield2011/IHelpSetPrereqCustom.htm
This one took me quite a while to find, hopefully I'll save you some time.
If you just want to force your user to have some applications installed (e.g. 'Visual C++ redistributable') or some specific configuration (e.g. specific Windows version/ reg value etc.)
You can use 'Behavior and Logic -> System Search' add the search for what you need (file/folders/registry entries/ini files values/XML file values),
On "What do you want to do with the value?" dialog select Store the values in the property and use the property in an Install Condition".
This will cause the Search to be executed when your installation package starts and will display an error popup to the user saying what ever message you've entered for the condition.
Few notes:
- If you're looking for a x64bit registry entry - mark the "Search the 64-bit portion of the Registry" check box.
- Did not find a way to edit the Condition once created, when tried to edit it it just lets me see and change the search parameters, but for the condition it only allows to enter it from scratch; as a workaround you can save the project as XML file (Installation Information -> General Information -> Project File Format) and edit the XML externally.
Good luck.

Resources