Thursday, May 31, 2012

NuGet Package Restore Tips

I recently have started using the NuGet Package Restore option in all of my .NET projects. This is a great new feature that was enabled with NuGet version 1.6. I followed this blog post Cleaning Up Your Git Repository for NuGet 1.6 and saw my repository size shrink drastically, a very good thing.

However, I noticed that when I enabled Package Restore that Git was excluding my NuGet.exe file in the solution .nuget folder. This was based on my having a *.exe entry in my .gitignore file. I was able to manually add the file by issuing the command git add -F NuGet.exe from the git command line. This worked but I wanted to find a better way. I tried a few different entries in the .gitignore file unsuccessfully. Then today, I had this issue again and did some more research and found this Answer on StackOverflow about putting an additional .gitignore file in the .nuget folder and explicitly including all executables via a !*.exe line. This worked great.

Friday, May 18, 2012

How to get Application Version

Ever need to the the version of your application? For example showing the version of a executable (a console application, for example). Then you can do that with a single line of code

Assembly.GetExecutingAssembly().GetName().Version

Please note that Version is of the type System.Version that contains properties for the major and minor revisions and others if needed.

Thursday, May 10, 2012

IIS Application Pool Identity access to SQL Server

I recently had a need to connect to a SQL Server Express 2008 R2 instance using the 'Integrated Security=SSPI" option in my connectionString setting. Of course when I ran the site the first time, I got an error stating that IIS APPPOOL\{MyApplicationPoolName} could not access the database. So after a little searching, I found this post ApplicationPoolIdentity IIS 7.5 to SQL Server 2008 R2 not working. on the IIS Forums that provided the proper steps to grant the Application Pool Identity access to the database.


The necessary steps from the post are below for reference.


In SQL Server Management Studio ...
    • connect to your SQL Server and navigate to Security - Logins in Object Explorer.
    • Add a new login:
      • Create a Windows login with the name of your application pool. Use the virtual domain name "IIS AppPool", like: "IIS AppPool\{YourApplicationPoolName}"

        (Dont' forget to use the real application pool name after the backslash, e.g.: "IIS AppPool\DefaultAppPool")
      • Assign the new login to your database(s) in the User Mapping page of the New Login dialog.
        Give it any user name you find appropriate.
      • Save and close the New Login dialog.
    • In Object Explorer ...
      • Navigate to your database, then navigate to Security - Users
      • Navigate to your new user and set permissions according to your needs.