Packed with multiple languages

Apr 21, 2015 at 10:59 PM
Hi,

i try to pack all the satellite assemblies into a packed xll.
I have 2 isssues.
The first is, that the packer take the assembly name as resource key an if try to add to resource dll with different languages, the systems add them with the same key.

The second problem is that the AssemblyManager is internal so I have to access tham with reflection that is not very nice.

What is you approach to this?

bye
konrad
Coordinator
Apr 22, 2015 at 9:24 PM
Hi Konrad,

For packing general resources with your add-in, the .dna-based packing mechanism might not be the right one.
It will be easier for you to compile such resources into your own .dll using the regular .NET approach - see the documentation for ResourceManager as a start: https://msdn.microsoft.com/en-us/library/system.resources.resourcemanager%28v=vs.110%29.aspx

-Govert
Apr 23, 2015 at 12:05 AM
Edited Apr 23, 2015 at 12:06 AM
Hi Govert,

I have it already done, so its working great.

I also implemented a multithreading lzma for the excel packer with a threadpool.
I made already a fork and I will send you and pull request. Please have a look in the next days.

At the moment, if a .dna files contains a culture resource it saves them with a special key:

<Reference Path="en/test.resources.dll" Pack="true"/> becomes

-> Updating resource: Type: ASSEMBLY_LZMA, Name: TEST.RESOURCES.EN, Length: 1623

Now I making havy use of reflection to get the AssemblyManager to readout the resources at runtime.

I have the Idea that if you add an Reference that you can say<Reference Path="en/test.resources.dll" Pack="true" IncludeSattelites="true"/>
an than the packer on one side automatically fetches all sattelite assemblies and than the
AssemblyManager on the other side automatically resolves the Assemblies.

bye
Konrad