I have a .net 2.0 c# ClickOnce app and it connects to its data via Web Services. I’ve been told that one way to potentially speed up the application is to generate a serialization assembly beforehand. I have several questions on this front.
-
The default setting to whether to generate a serialization assembly is Auto. What criteria does VS2005 use to decide whether to generate a serialization assembly or not? It seems like it does not generate under Debug configuration, but it does under Release configuration, but I can’t tell for sure and can’t the information anywhere.
-
Does serialization assembly actually improve the startup of the application? Specifically what does it improve? Do I actually need a serialization assembly?
It is really asking “Shall I pre-generate the serialization assemblies and include it in the deployed project or shall I fall back on the default of generating the assemblies on the fly?” Generally that won’t hurt too much after the first hit perf-wise. Where it can play in is that the serialization assemblies are generated in
%SYSTEMROOT%\TEMP. Which, in some cases, the process can’t access, leading to fatal exceptions in most cases.