creating Satellite Assembly

G

Guest

Hi,
I developed an multi lingual application in vb.net(VS.NET 2003) using
..Language and .Localizable property of window form. I want to create a
satellite assembly to store all resources and then retrive them based on the
language in which form is displayed. I m using assembly linker tool for
Satellite assembly creation. I used resgen utility to create .resources file
from all .resx files(Which are automatically created for each language of the
form.) and place these files in appropriate folders for respective languages.
Now i want to use al.exe to generate satellite assembly. but whenever i
type al in vs.net command prompt screen it says "al.exe is not valid win32
program.". Then i changed directory to where al.exe
reside(c:\windows\microsoft.net\framework\v1.1.4322) then it is recognized it.
How can i embed multiple .resources file in a single satellite
assembly? I tried this separating file names by comma but it gave error.
where that satellite assembly willl be stored? will it be in
c:\windows\microsoft.net\framework\v1.1.4322? How can i store it in folder i
want? Is path-setting necessary to use al.exe utility? if yes then How path
should be set for it? Should i follow the naming convention for satellite
assembly also? If yes then which culture name i should specify for it as it
will be containing resources for all languages.
How can i edit my satellite assembly?
Waiting for replies,

Thanks in advance.
Regards,
RbanBph
 
D

Dmitriy Lapshin [C# / .NET MVP]

Hi,

If you're using VS .NET, you don't have to go at such great lengths at all.
As far as I remember, you just need to properly name your .resx files to
indicate for which language and culture they have been created.

For example:

my_resources.resx - culture-neutral, default
my_resources.ru-RU.resx - for Russian language in Russia
 
G

Guest

Hi,
Thanks for ur help. But some of my questions are still
unaswered. I have already named my .resx files as u have
said(SatelliteDemo.ar.resx). I generated .resources files and installed them
in GAC(as SatelliteDemo.ar.resources, SatelliteDemo.es.resources etc.). Now
how can i reference these files(installed in GAC) for retrieving resources? I
tried it as follows
x = New ResourceManager("Satellite.ar", Me.GetType().Assembly)
MessageBox.Show(x.GetString("value1", ci)) //ci is culture name i.e.
passed
But it is throwing exception. How can i check whether resources are
retireved for GAC? One more thing is, once I install my resources in GAC do I
need .resx files any more?

Please help.
-RbanBph

Dmitriy Lapshin said:
Hi,

If you're using VS .NET, you don't have to go at such great lengths at all.
As far as I remember, you just need to properly name your .resx files to
indicate for which language and culture they have been created.

For example:

my_resources.resx - culture-neutral, default
my_resources.ru-RU.resx - for Russian language in Russia

--
Sincerely,
Dmitriy Lapshin [C# / .NET MVP]
Bring the power of unit testing to the VS .NET IDE today!
http://www.x-unity.net/teststudio.aspx

RbanBph said:
Hi,
I developed an multi lingual application in vb.net(VS.NET 2003) using
.Language and .Localizable property of window form. I want to create a
satellite assembly to store all resources and then retrive them based on
the
language in which form is displayed. I m using assembly linker tool for
Satellite assembly creation. I used resgen utility to create .resources
file
from all .resx files(Which are automatically created for each language of
the
form.) and place these files in appropriate folders for respective
languages.
Now i want to use al.exe to generate satellite assembly. but whenever
i
type al in vs.net command prompt screen it says "al.exe is not valid win32
program.". Then i changed directory to where al.exe
reside(c:\windows\microsoft.net\framework\v1.1.4322) then it is recognized
it.
How can i embed multiple .resources file in a single satellite
assembly? I tried this separating file names by comma but it gave error.
where that satellite assembly willl be stored? will it be in
c:\windows\microsoft.net\framework\v1.1.4322? How can i store it in folder
i
want? Is path-setting necessary to use al.exe utility? if yes then How
path
should be set for it? Should i follow the naming convention for satellite
assembly also? If yes then which culture name i should specify for it as
it
will be containing resources for all languages.
How can i edit my satellite assembly?
Waiting for replies,

Thanks in advance.
Regards,
RbanBph
 
D

Dmitriy Lapshin [C# / .NET MVP]

Given you've named the .resx files correctly, the IDE should create
satellite assemblies (.dll) files in sub-folders below the output directory:

myAssembly.dll
ar
\_myAseembly.ar.dll


--
Sincerely,
Dmitriy Lapshin [C# / .NET MVP]
Bring the power of unit testing to the VS .NET IDE today!
http://www.x-unity.net/teststudio.aspx

RbanBph said:
Hi,
Thanks for ur help. But some of my questions are still
unaswered. I have already named my .resx files as u have
said(SatelliteDemo.ar.resx). I generated .resources files and installed
them
in GAC(as SatelliteDemo.ar.resources, SatelliteDemo.es.resources etc.).
Now
how can i reference these files(installed in GAC) for retrieving
resources? I
tried it as follows
x = New ResourceManager("Satellite.ar", Me.GetType().Assembly)
MessageBox.Show(x.GetString("value1", ci)) //ci is culture name i.e.
passed
But it is throwing exception. How can i check whether resources are
retireved for GAC? One more thing is, once I install my resources in GAC
do I
need .resx files any more?

Please help.
-RbanBph

Dmitriy Lapshin said:
Hi,

If you're using VS .NET, you don't have to go at such great lengths at
all.
As far as I remember, you just need to properly name your .resx files to
indicate for which language and culture they have been created.

For example:

my_resources.resx - culture-neutral, default
my_resources.ru-RU.resx - for Russian language in Russia

--
Sincerely,
Dmitriy Lapshin [C# / .NET MVP]
Bring the power of unit testing to the VS .NET IDE today!
http://www.x-unity.net/teststudio.aspx

RbanBph said:
Hi,
I developed an multi lingual application in vb.net(VS.NET 2003)
using
.Language and .Localizable property of window form. I want to create a
satellite assembly to store all resources and then retrive them based
on
the
language in which form is displayed. I m using assembly linker tool for
Satellite assembly creation. I used resgen utility to create .resources
file
from all .resx files(Which are automatically created for each language
of
the
form.) and place these files in appropriate folders for respective
languages.
Now i want to use al.exe to generate satellite assembly. but
whenever
i
type al in vs.net command prompt screen it says "al.exe is not valid
win32
program.". Then i changed directory to where al.exe
reside(c:\windows\microsoft.net\framework\v1.1.4322) then it is
recognized
it.
How can i embed multiple .resources file in a single satellite
assembly? I tried this separating file names by comma but it gave
error.
where that satellite assembly willl be stored? will it be in
c:\windows\microsoft.net\framework\v1.1.4322? How can i store it in
folder
i
want? Is path-setting necessary to use al.exe utility? if yes then How
path
should be set for it? Should i follow the naming convention for
satellite
assembly also? If yes then which culture name i should specify for it
as
it
will be containing resources for all languages.
How can i edit my satellite assembly?
Waiting for replies,

Thanks in advance.
Regards,
RbanBph
 
G

Guest

Hi,
But what if I want to install this assembly in GAC and reference it
from GAC?

Thanks,

---RbanBph
Dmitriy Lapshin said:
Given you've named the .resx files correctly, the IDE should create
satellite assemblies (.dll) files in sub-folders below the output directory:

myAssembly.dll
ar
\_myAseembly.ar.dll


--
Sincerely,
Dmitriy Lapshin [C# / .NET MVP]
Bring the power of unit testing to the VS .NET IDE today!
http://www.x-unity.net/teststudio.aspx

RbanBph said:
Hi,
Thanks for ur help. But some of my questions are still
unaswered. I have already named my .resx files as u have
said(SatelliteDemo.ar.resx). I generated .resources files and installed
them
in GAC(as SatelliteDemo.ar.resources, SatelliteDemo.es.resources etc.).
Now
how can i reference these files(installed in GAC) for retrieving
resources? I
tried it as follows
x = New ResourceManager("Satellite.ar", Me.GetType().Assembly)
MessageBox.Show(x.GetString("value1", ci)) //ci is culture name i.e.
passed
But it is throwing exception. How can i check whether resources are
retireved for GAC? One more thing is, once I install my resources in GAC
do I
need .resx files any more?

Please help.
-RbanBph

Dmitriy Lapshin said:
Hi,

If you're using VS .NET, you don't have to go at such great lengths at
all.
As far as I remember, you just need to properly name your .resx files to
indicate for which language and culture they have been created.

For example:

my_resources.resx - culture-neutral, default
my_resources.ru-RU.resx - for Russian language in Russia

--
Sincerely,
Dmitriy Lapshin [C# / .NET MVP]
Bring the power of unit testing to the VS .NET IDE today!
http://www.x-unity.net/teststudio.aspx

Hi,
I developed an multi lingual application in vb.net(VS.NET 2003)
using
.Language and .Localizable property of window form. I want to create a
satellite assembly to store all resources and then retrive them based
on
the
language in which form is displayed. I m using assembly linker tool for
Satellite assembly creation. I used resgen utility to create .resources
file
from all .resx files(Which are automatically created for each language
of
the
form.) and place these files in appropriate folders for respective
languages.
Now i want to use al.exe to generate satellite assembly. but
whenever
i
type al in vs.net command prompt screen it says "al.exe is not valid
win32
program.". Then i changed directory to where al.exe
reside(c:\windows\microsoft.net\framework\v1.1.4322) then it is
recognized
it.
How can i embed multiple .resources file in a single satellite
assembly? I tried this separating file names by comma but it gave
error.
where that satellite assembly willl be stored? will it be in
c:\windows\microsoft.net\framework\v1.1.4322? How can i store it in
folder
i
want? Is path-setting necessary to use al.exe utility? if yes then How
path
should be set for it? Should i follow the naming convention for
satellite
assembly also? If yes then which culture name i should specify for it
as
it
will be containing resources for all languages.
How can i edit my satellite assembly?
Waiting for replies,

Thanks in advance.
Regards,
RbanBph
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top