re:
Why will this not work in VS 2005 on a Web Application?? That is the problem.
You can get around that limitation by using this tool :
the "Visual Studio 2005 Web Deployment Projects" Add-in for VS 2005,
which is available *now* at :
http://msdn.microsoft.com/asp.net/reference/infrastructure/wdp/default.aspx
"This add-in includes a new tool that enables you to merge the assemblies
created during ASP.NET 2.0 precompilation, and it provides a comprehensive
UI within Visual Studio 2005 for managing build configurations, merging,
and pre-build and post-build task using MSBuild."
"A Web Deployment Project creates and maintains an MSBuild project file,
and is associated in a solution with a Web site project.
A Web Deployment Project enables you to manage not only build configuration
and merge options, but other tasks such as specifying changes for the application's
Web.config file during compilation, changing connection strings, creating virtual
directories, and performing other tasks at specific points in the deployment process.
The new assembly merge tool (Aspnet_merge.exe) combines assemblies created
during ASP.NET 2.0 precompilation for deployment. The tool supports many merge
options, from combining assemblies for each Web site folder to creating a single
assembly for the entire Web site."
Don't forget to download these very helpful documents :
"Using Web Deployment Projects with Visual Studio 2005"
http://go.microsoft.com/fwlink/?LinkId=55638
and
"Managing ASP.NET Pre-compiled Outputs with Aspnet_merge.exe Command"
http://go.microsoft.com/fwlink/?LinkId=55639
Read Scott Guthrie's description of the tool :
http://weblogs.asp.net/scottgu/archive/2005/11/06/429723.aspx
If you run into problems with the tool, post them to :
http://forums.asp.net/138/ShowForum.aspx
Kent said:
Yeah but your missing part of the beauty of the GAC. Strong Name. I can have a web
app compiled against Company.Utilities 1.1, but have Company.Utilities 1.25 installed
on the web server. In our environment, we do not break compatibility until we move to
v 2.
When we add functions and classes or perform bug fixes (which can be frequent), we up
the revision number (all changes are backwards compatible). The final build before an
release is packaged into an installer and installed on all of our web servers. If a
developer wants to take advantage of the new classes, they can install the new version
of the assembly and build against it. We do not install multiple revision versions of
an assembly (1.24, 1.25 etc.) on the servers, just major versions (v1., v2., etc.), I
hope I am making sense.
In our environment, to break every one of our web apps, services, etc (100's of them)
would be insane. This paradigm worked in VS 2003. This paradigm works in VS 2005 in
a Windows Application (has the References tree with all of the properties in Solution
Explorer). Why will this not work in VS 2005 on a Web Application?? That is the
problem.
Thank you for your help...
That's not the issue. For example, in the AssemblyInfo.cs in our Utilities library
we set the version as [assembly: AssemblyVersion("1.25.*")]
. . .
That's the problem. You should never auto-increment AssemblyVersion. AssemblyVersion
should be fixed and only changed when you want to break compatibility.
David