Tag: NuGet

The type or namespace name ‘xxxx’ does not exist in the namespace ‘yyyy’ (are you missing an assembly reference?)

If you suddenly find your Visual Studio solution falling to pieces with loads of error messages like the title above when you build. You also know that the project libraries are being referenced correctly and they build OK. Then check that you do not have an uninvited app.config file lurking at the root of any of your projects.

I have spent lots of annoying wasted hours trying to figure this out only to have found that a NuGet installation has added an app.config to the projects.

Delete this and do a rebuild and all should be OK.

The moral of this story is make sure you build and check-in before adding any NuGet packages. Then immediately rebuild after. If this scenario occurs, you know what to do.

Getting AddThis.NET for BlogEngine.NET extension working!

There are currently a few hurdles to getting the very useful AddThis.net version 5 extension going on BlogEngine.net version 2.5 or later. I have consolidated the steps here.

There are a few ways of getting an extension added to a BlogEngine.Net project. I decided to use the NuGet approach. If you haven’t got this Visual Studio extension installed yet…do it now! see my earlier blog How to easily add open source libraries to net projects using NuGet).

First Configure NuGet

  1. Right-click on your web project and select ‘Manage NuGet Packages…’
  2. This will display the NuGet Manager. Click on the ‘Settings’ button at the bottom left.
  3. This opens the Visual Studio Option dialog. Make sure that ‘Package Sources’ is selected in the tree on the left.
  4. Enter the following and click the ‘Add’ button and then ‘OK’ on the Options dialog to close and save the new settings.
  5. You should now see the new BlogEngine.Net extensions library list under the ‘Online’ section. If necessary close the NuGet Manager and re-open it from the projects shortcut menu again.
  6. Simply select the extension you like and click ‘Install’. Nice an easy!

Second – Fix the project!

You will now try and rebuild your project to find that a whole load of failures occur.

This is easily fixed.

You will need to add the following reference to /App_Code/Extensions/AddThis.cs and pretty much every file under /App_Code/Extensions/BookmarkButtons, but the errors panel will give you the list of issues.

using BlogEngine.Core.Web.Extensions;

Then rebuild and voila…hopefully no errors!

How to easily add open source libraries to .NET projects using NuGet

I have just come across one of the best Visual Studio extensions called NuGet (http://nuget.org/).

It makes it incredibly easy to add available libraries, including such things as JavaScript libraries like jQuery. Not only that, but it will work out any dependencies, download those and then warn you if any get updated.

The easiest way to get going is to add it to Visual Studio using the ‘Extension Manager’ which you will find under the ‘Tools’ menu. It’s called ‘NuGet Package Manager’.

Once installed, it is simplicity itself to add a reference and download the binaries, dependencies and code for a useful library (such as MVVM Light or jQuery).

  1. Right-click on the references folder in your solution.
  2. Select ‘Manage NuGet Packages…’image
  3. and voila…search for new libraries or check for updates. If NuGet finds any updates then you will get an alert when VS2010 starts.

SNAGHTML198fc1

Potential TFS connection Problem TF30063

There is one fly in this ointment that took me a little time to resolve. A bug in NuGet can force the connection to your TFS server to be dropped. The only way out is to restart Visual Studio.  the solution to this turns out to be extremely trivial.

All you need to do is add your TFS server URL to the Intranet security group in Internet Explorer!

The credit for resolving this must go to the very brilliant effort by Miha Markic. See his blog about it at http://blog.rthand.com/post/2011/08/26/Fixing-combination-of-NuGet-and-Team-Foundation-in-workgroup-configuration-401-Unauthorized.aspx