I used the ZXing C# port with great success in my last project.
ZXing Codeplex page
One issue I found though was that when decoding the barcodes if the picture was too large it would not find the barcode.
This might not be an issue for you if you are just using the generation part of the library.
I used this function to shrink the picture if it was too large:
public Image scaleImage(Image image, int maxWidth, int maxHeight)
var ratioX = (double)maxWidth / image.Width;
var ratioY = (double)maxHeight / image.Height;
var ratio = Math.Min(ratioX, ratioY);
var newWidth = (int)(image.Width * ratio);
var newHeight = (int)(image.Height * ratio);
var newImage = new Bitmap(newWidth, newHeight);
Graphics.FromImage(newImage).DrawImage(image, 0, 0, newWidth, newHeight);