Category Archives: Visual Studio

Visual Studio Environment

Visual Studio – no .NET SDKs were found

When trying to change a VS project to implement some new Azure function need by our Business Central implementation of certain feature Visual Studio was unable to detect dotnet SDKs although multiple versions were installed.

So running

dotnet --info

has given me the following output:

So I have tried running Visual Studio repair multiple times. Installed dotnet SDK for that exact version of Visual Studio 2020 CE. Checking PATH environment variables multiple times. Restarting machine multiple times to no avail.

Solution

However, the solution was right into my nose but… failing to see the obvious. I have suspected that it has something to do with both x86 and x64 versions of .NET installed but could not figured it out what is the difference.

Solution was quite easy. Running

where.exe dotnet

will give you the result of order in which paths of dotnet search is executed.

 If you’re on a x64 machine, you want to have C:\Program Files\dotnet listed first.

Now this is the output of the dotnet –info command:

Building and using MS Project 2010 proxy assembly for WCF PSI Service

To do the task of integrating Microsoft Dynamics NAV 2009 R2 and MS Project Server 2010 I have decided to use WCF interface. WCF interface is provided by PSI (Project Server Interface) which has both ASMX object model and WCF object model implemented.

There are three options for communicating with WCF interface of MS Project Server:

  1. Compiling ProjectServerServices.dll PSI proxy assembly.
  2. Add a PSI proxy source code to the Visual Studio solution.
  3. Add a service reference by using Visual Studio.

I have decided to use the first option and compile ProjectServerServices.dll proxy assembly.

Project 2010 SDK

First you need to download and install Project 2010 SDK from Microsoft Download site (Project 2010 Reference: Software Development Kit).

After you have installed Project 2010 SDK you need to go to the installation folder. In my case that was folder: C:\Program Files (x86)\Microsoft SDKs\Project 2010\Documentation\Intellisense\WCF. Unpack the Source.zip file, found in that folder, so you get the Source subfolder containing C# source files.

Next, you need to start CompileWCFProxyAssembly.cmd to create ProjectServerServices.dll file. The best way to do it is to open Command prompt with administrative privileges (Start->All Programs->Accessories->Command prompt then right click and select Run as administrator), then cd to the C:\Program Files (x86)\Microsoft SDKs\Project 2010\Documentation\Intellisense\WCF and then run CompileWCFProxyAssembly.cmd.

Note: You need to change the path of sn (sn.exe) to the location of Windows SDK in CompileWCFProxyAssembly.cmd. In my case that was C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\x64\sn.exe.

After the script has run you should have ProjectServerServices.dll in this folder.

Visual Studio

In Visual Studio you shoud add reference by clicking right mouse button on Reference folder in your C# project then select Add reference… option, then select Browse on the left hand side of the Reference Manager window and click Browse… button on the lower side of the window. Navigate to C:\Program Files (x86)\Microsoft SDKs\Project 2010\Documentation\Intellisense\WCF\ProjectServerServices.dll file and click Add button. Click OK to close the Reference Manager window.

Now have fun with connecting to the MS Project Server PSI using WCF interface.

Using Team Foundation Server Express 2012 with Visual Studio 2008

While developing Windows Embedded 6.5.3 mobile application, for which the “latest” IDE is Visual Studio 2008, we needed to setup some Source Code Version control system. The obvious decision was to use native Microsoft product.

The project requirements were not high regarding the number of programmers involved so I have decided to use Team Foundation Server Express 2012 (TFS), since it’s free for up to five users and can be up-scaled to full Team Foundation Server.

We have downloaded the Team Foundation Server Express 2012 from Microsoft site: http://www.microsoft.com/visualstudio/eng/products/visual-studio-team-foundation-server-express and our system administrator installed it on a separate VM, did all the security “mambo-jumbo” adding me as a Team Foundation Server Administrators.

Next thing to do is to have Visual Studio 2008 prepared to connect to TFS via Team Explorer. Order of steps is as follows:

  • Installation of Team Explorer for Visual Studio Team System 2008 (link ISO)
  • Installation of SP1 for Visual Studio 2008 (link ISO, link Installer) – if you have installed SP1 before Team Explorer then you need to reapply the SP1 installation (more info)
  • Installation of Visual Studio Team System 2008 Service Pack 1 Forward Compatibility Update for Team Foundation Server 2010 (link)
  • Installation of GDR Update for Visual Studio 2008 SP1 to add support for Team Foundation Server 2012 and Team Foundation Service Preview (link)

After all of these installations you should start Visual Studio 2008 and try to connect to Team Foundation Server. In Visual Studio go to Tools->Connect to Team Foundation Server… click Servers button and then Add… button. When Add Team Foundation Server window opens in Team Foundation Server Name insert full URL of the TFS. For example: http://mytfsserver:8080/tfs.

addTeamFoundationServer

Click OK, Close and in the Connect to Team Foundation Server select Team Projects you want to connect to.

Now you can start using Team Explorer (View->Team Explorer).