The imported project "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Windows Azure Tools\2.3\Microsoft.WindowsAzure.targets" was not found.


Visual Studio 2013 ultimate began reporting this error while F5-ing the application; surprisingly the application compiles just fine! It just would not debug which I was able to do a day before!

The imported project “C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Windows Azure Tools\2.3\Microsoft.WindowsAzure.targets” was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.

I searched online but could not find helpful information. I made couple of attempts to fix the issue (reinstalled the Azure Tools for VS 2013) but no use! It kept giving me this error. From the error description it is obvious that the VS is unable to find the Microsoft.WindowsAzure.targets file.

After a while I realized that I had installed Red Gate’s .NET Daemon and this error could be related to that. Saw the following setting on the .NET Daemon menu – unchecking it allowed me to F5 the application without running into that error!

image

At least now I knew which software was causing the issue. Unchecking the setting in the daemon isn’t the solution; I had to address the root cause which is the missing Microsoft.WindowsAzure.targets file.

On my development machines this file existed under the folders for Windows Azure Tools for Visual Studio 2.2 (C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\Windows Azure Tools\2.2) and 2.3 (C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\Windows Azure Tools\2.3).

The .NET Daemon was looking for this file under C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Windows Azure Tools\2.3 folder! All I did to resolve the issue was to mimic the folder structure for v12.0 under v10.0.

Questions for the Red Gate team in case they read this post. I may be wrong but this appears to be an issue or perhaps I didn’t install the Daemon correctly. What is the elegant solution that would NOT require me to copy the folders? Perhaps the Daemon should just look at the project it is dealing with to figure out what version of the Azure Tools it is using and look for the .targets file in the respective folder under correct Visual Studio sub-folder (v10.0, v12.0, etc.)?

Edited:

I received the following response from the Red Gate support. Hope it helps.

Hi, sorry you had a problem with Demon.

Msbuild paths have changed in Visual Studio 2013 and this may cause some problems for .NET Demon if you have files that still point to older versions of VS or to the old msbuild path. This error happens when a .nuget package restore file points to the wrong MSBuild tools path. In this case, removing your restore files (particularly Nuget.config and Nuget.targets) from your solution and file system, and then re-enabling package restore should resolve it. Similar errors can occur if you have either the PlatformToolset or VisualStudioVersion properties set to an older version, but changing their values to “v12.0” should help.

Building Web Apps with ASP.NET Jump Start – 01 What’s New in ASP.NET 4.5


Source – Building Web Apps with ASP.NET Jump Start

In order to do web development, you need to understand the following:

Visual Studio

  • HTML5 and CSS3 standards and smarts
  • JavaScript language features
  • Page Inspector
  • One code editor for client and server
  • Web Essentials extension

NuGet

  • Package manager – new way to bring dependencies into the project
  • Install and configure in your project
  • Handle dependencies and versions

ASP.NET

  • Model Binding with ASP.NET Web Forms – Strongly Typed Data Controls
  • Web Forms Friendly URLs
  • Same routing system as MVC – in fact the routing system houses in ASP.NET but MVC also uses it
  • Bundling and Optimization
  • LESS editor
  • Page Inspector
  • async
    • async and threading are kind of different
    • Client.DownloadStringTaskAsync
    • Task.WaitAll – blocks the current thread until all of the specified async requests have completed
    • Task.WhenAll – will wait for all of the specified async requests to finish before returning
    • “Async” and “await” keywords
    • “Async = true” on the page

nuget “Access is denied” “Command existed with code 5”


I just setup a new Windows Server 2008 R2 development VM in order to work on a project. Downloaded the source code from Git and hit “Rebuild Solution”. Few projects failed to build with the following error (taken from the Output window after enabling MSBuild verbosity to Detailed:

Task “Exec” “C:\Work\Github\………….\.nuget\nuget.exe” install “C:\Work\Github\…………\packages.config” -source “”  -RequireConsent -solutionDir “C:\Work\Github\…………….\ “

C:\Work\Github\…….\.nuget\NuGet.targets(87,9): error : Access is denied.

C:\Work\Github\…..\.nuget\NuGet.targets(87,9): error MSB3075: The command “”C:\Work\Github\…..\.nuget\nuget.exe” install “C:\Work\Github\…..\packages.config” -source “”  -RequireConsent -solutionDir “C:\Work\Github\…..\ “” exited with code 5. Please verify that you have sufficient rights to run this command.
Done executing task “Exec” — FAILED.

The NuGet executable could not be executed during the build process! I had never faced this problem before. Came across few posts on the Internet where others were facing similar problems and had recommended to change certain NuGet settings or to delete and reinstall NuGet altogether. I did all that but no use.

I manually ran the nuget.exe in a command prompt and got the same “Access is denied” error. All of a sudden, light-bulb moment Smile I looked at the properties of the nuget.exe and that is where the answer was! See below the screen shot.

image

Perhaps this is Windows Server 2008 security feature but the Everyone was allowed only “Read” permission on the nuget.exe; in order for it to get executed, the caller should have the “Read & Execute” permission as well.

Granting the “Everyone” group “Read & Execute” seems to solve the problem.

image

I would love to hear if you know of a better way to solve this issue. Drop me a line. Thanks.