I attempted to get localized resource satellite assemblies for the WebDataGrid by following the instructions in this document:
http://dl.infragistics.com/community/aspnet/articles/wdg-localization/WebDataGridLocalization.doc
On my development machine, this works fine. The filters are being localized as promised. However, I am deploying my web site to another machine and I've run into a problem. I am placing these satellite assemblies into the appropriate localization folders in the application's bin directory (i.e. de-CH, as in the document). However, when I run the website in the target machine, the filters are displayed in the default culture.
After a search, I noted another post which brought up the idea of the fact that these assemblies are delay signed, and that this might be an issue (requires a fully strong named signed assembly).
While I suppose I could use GACUTIL.EXE to install the assembly to the GAC of the target machine, I would prefer to keep these in the bin directory of the application.
Question: Am I on the right track as to the cause of the issue? If so, is there any way to strong sign these assemblies such that they will work when deployed with the application as members of the application's bin directory? If not, is installing to the GAC an appropriate course of action?
Hello cfshuhl,
According to this article: http://msdn.microsoft.com/en-us/library/1ztca10y(v=VS.85).aspx Satellite Assemblies are shadow-copied into the global assembly cache, to eliminate potential locking issues. The only assemblies that can be shadow copied are those stored in the application directory or its subdirectories, specified by the ApplicationBase and PrivateBinPath properties when the application domain is configured. Assemblies stored in the global assembly cache are not shadow copied. If you want to install satellite assemblies into the global assembly cache, they must have strong names. Strong-named assemblies are signed with a valid public/private key pair. Compiling Satellite Assemblies With Strong Names - http://msdn.microsoft.com/en-us/library/21a15yht(v=VS.85).aspx
Hope this help
Actually, no, this does not help. If you reread my initial post, you will find that I do NOT want to install to the GAC. I want to place the satellite assemblies into my website's bin folder. The problem with this approach is that the assembly resolver will not use delay signed assemblies unless they are installed to the GAC (again, which I have done and does in fact work). Since I cannot strong-name the satellite assemblies (I do not have access to the key the original DLL was signed with), I cannot deploy them as part of the website file structure. As a part of the target deployment installation process, I need to do a GAC installation of these satellite assemblies, which, as I've stated, I'd like to avoid.
My questions remain. Is there a methodology to accomplish what I want to do, or is the methodology presented by the document I referenced the recommended way to localize my applications if I intend to use Infragistics controls in my solutions?
An additional question. Has any thought been given to shipping properly signed satellite resource assemblies with the product, at least with a few of the most commonly supported languages? It would be nice to have this, rather than having to perform these steps manually.