I've just started investigating the Microsoft Ajax Minifer 4.0 for use with a Visual Studio 2008 Web Application I work on. It's proven easy enough to hook it into the .csproj file so it produced .min.js files for all scripts, however I'm stumped as to how to integrate this with the Web Setup project & Source Control.
Essentially what I want to do is have the resultant .min.js files included in the Web Setup project without having them included in Source Control because:
The only option I've managed to come across so far is to explicitly include the .min.js files as part of the Setup project by right clicking on the Web Setup project and choosing "Add > File", and then having the relevant folder hierarchy duplicated in "File System on Target Machine" so that I can force the file to the correct location. This is neither elegant or simple/robust as:
Is there a better way of doing this?
The solution I eventually opted for was to include the minifier DLL in my project and create a handler (.ashx) that I've replaced all references to .js files with, so:
<script src="MyJsFile.js" type="text/javascript"></script>
Is replaced with
<script src="Minifier.ashx?file=MyJsFile.js" type="text/javascript"></script>
I have a configuration setting in my web.config
file that allows me to determine whether script files are minifed or not.