473,387 Members | 1,624 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,387 software developers and data experts.

Version resource in satellite assembly

I have two question regarding the version resource that is generated for a
satellite assembly.

1) I have a file in my C# console app project called
StringResources.en-US.resx. When I build the project, a satellite assembly is
built and placed in the appropriate subfolder (en-US). The satellite
assembly has a version #, however, none of the other version information that
is part of the main app (set in AssemblyInfo.cs) is passed into this
Satellite Assembly. My question is, how can I have that version information
set on the satellite assembly when it is built through the IDE?
2) If I build the satellite assembly via al.exe I can of course overcome
problem #1. However, whether I build it via al.exe or via the IDE, the
Language attribute of the version information always reads Language Neutral
(when viewing the version tab of the file properties), even though the dll is
built with a specified culture (in this case, en-US). I cannot find a way to
control that particular version attribute as I would in a Win32 application.
Obviously, the main app of the assembly should be Language Neutral, however,
I would expect that the satellite assemblies which are culture specific would
have that attribute set to the appropriate language. How can I accomplish
this?
--
James

Oct 12 '05 #1
6 3151
Hi James,

Thanks for your post.

#1, I have done a test for this issue. I enabled Localization in the
Winform project, and specify version information in AssemblyInfo.cs file
like this:
[assembly: AssemblyVersion("1.5.5.5")]
When compiling the entire project, my main assembly will get the version
number of 1.5.5.5 and all the satellite assemblies in corresponding
language folders will have 1.5.5.5 version.

Do you have different result on your side?

#2, Using Al.exe, we should can control the assembly information easily.
Specificly, we can set the version with /version option, and culture
information with /culture option. Please refer to the link below:
"Creating Satellite Assemblies"
http://msdn.microsoft.com/library/de...us/cpguide/htm
l/cpconcreatingsatelliteassemblies.asp

Hope this helps.

Best regards,
Jeffrey Tan
Microsoft Online Partner Support
Get Secure! - www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.

Oct 13 '05 #2
Jim
I'm not having a problem with the version number. Using your example below,
in #1, the version number does get propogated to the satellite assembly, but
that is all. The company information, copyright, etc. do not. That is the
problem. This may be by design, but I'm wondering if there is a way around
it besides using al.exe.

The second problem is that there is no way to set the Language attribute.
If you open the properties for an assembly and select the version tab, there
are many attributes, such as company name, copyright, etc. Among those is
one called language. When I create (using al.exe) a satellite assembly I can
specifiy the culture, copyright, company, etc. I cannot, however, set that
language attribute. My expectation was that if I set the culture to, for
example en-US, that the language attribute would reflect that, but it simply
says Language Neutral, which to me is not correct.

""Jeffrey Tan[MSFT]"" wrote:
Hi James,

Thanks for your post.

#1, I have done a test for this issue. I enabled Localization in the
Winform project, and specify version information in AssemblyInfo.cs file
like this:
[assembly: AssemblyVersion("1.5.5.5")]
When compiling the entire project, my main assembly will get the version
number of 1.5.5.5 and all the satellite assemblies in corresponding
language folders will have 1.5.5.5 version.

Do you have different result on your side?

#2, Using Al.exe, we should can control the assembly information easily.
Specificly, we can set the version with /version option, and culture
information with /culture option. Please refer to the link below:
"Creating Satellite Assemblies"
http://msdn.microsoft.com/library/de...us/cpguide/htm
l/cpconcreatingsatelliteassemblies.asp

Hope this helps.

Best regards,
Jeffrey Tan
Microsoft Online Partner Support
Get Secure! - www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.

Oct 13 '05 #3
I'm not having a problem with the version number. Using your example below,
in #1, the version number does get propogated to the satellite assembly, but
that is all. The company information, copyright, etc. do not. That is the
problem. This may be by design, but I'm wondering if there is a way around
it besides using al.exe.

The second problem is that there is no way to set the Language attribute.
If you open the properties for an assembly and select the version tab, there
are many attributes, such as company name, copyright, etc. Among those is
one called language. When I create (using al.exe) a satellite assembly I can
specifiy the culture, copyright, company, etc. I cannot, however, set that
language attribute. My expectation was that if I set the culture to, for
example en-US, that the language attribute would reflect that, but it simply
says Language Neutral, which to me is not correct.

--
James

""Jeffrey Tan[MSFT]"" wrote:
Hi James,

Thanks for your post.

#1, I have done a test for this issue. I enabled Localization in the
Winform project, and specify version information in AssemblyInfo.cs file
like this:
[assembly: AssemblyVersion("1.5.5.5")]
When compiling the entire project, my main assembly will get the version
number of 1.5.5.5 and all the satellite assemblies in corresponding
language folders will have 1.5.5.5 version.

Do you have different result on your side?

#2, Using Al.exe, we should can control the assembly information easily.
Specificly, we can set the version with /version option, and culture
information with /culture option. Please refer to the link below:
"Creating Satellite Assemblies"
http://msdn.microsoft.com/library/de...us/cpguide/htm
l/cpconcreatingsatelliteassemblies.asp

Hope this helps.

Best regards,
Jeffrey Tan
Microsoft Online Partner Support
Get Secure! - www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.

Oct 13 '05 #4
Hi James,

Thanks for your feedback.

The information on the exe property page is the Win32 resource information,
not the .Net resource information. If you use ILDasm to view any satellite
assembly in the language directory, we will see the language attribute in
the assembly manifest.

For other Win32 resources, such as company info, copyright etc..., it seems
that VS.net IDE will only generate in the main assembly not for the
satellite assembly. However, we can use Al.exe with corresponding options
to embed the information in the satellite assembly.

I think this must be the limitation of VS.net IDE. Thanks

Best regards,
Jeffrey Tan
Microsoft Online Partner Support
Get Secure! - www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.

Oct 17 '05 #5
Is it possible to add a Win32 resource to a .NET assembly? If so, how?
--
James

""Jeffrey Tan[MSFT]"" wrote:
Hi James,

Thanks for your feedback.

The information on the exe property page is the Win32 resource information,
not the .Net resource information. If you use ILDasm to view any satellite
assembly in the language directory, we will see the language attribute in
the assembly manifest.

For other Win32 resources, such as company info, copyright etc..., it seems
that VS.net IDE will only generate in the main assembly not for the
satellite assembly. However, we can use Al.exe with corresponding options
to embed the information in the satellite assembly.

I think this must be the limitation of VS.net IDE. Thanks

Best regards,
Jeffrey Tan
Microsoft Online Partner Support
Get Secure! - www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.

Oct 21 '05 #6
Hi James,

Thanks for your feedback.

No, VS.net IDE can generates win32 resources to the .Net assembly with
several attributes, such as AssemblyCompanyAttribute,
AssemblyCopyrightAttribute etc.. However, VS.net IDE can not generate win32
resources for satellite assemblies. In order to generate win32 resources
into satellite assembly, we have to use AL.Exe use corresponding command
line options to get it done.

Hope this will be more clarify.

Best regards,
Jeffrey Tan
Microsoft Online Partner Support
Get Secure! - www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.

Oct 21 '05 #7

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
by: Sarah Woodfield | last post by:
Hi, I have written an application in VB.Net which runs well on my development PC. However on a few clients machines, at apparently random intervals, they get the above message and the programme...
6
by: James | last post by:
I have two question regarding the version resource that is generated for a satellite assembly. 1) I have a file in my C# console app project called StringResources.en-US.resx. When I build the...
3
by: gjenglish | last post by:
I have recently migrated an ASP.NET 1.1 web application to ASP.NET 2.0. In this application I am storing all my resources in satellite assemblies and I am accessing them via the ResourceManager...
0
by: Felix | last post by:
Ok, I've had this issues since yesterday and I cannot figure out what's causing it. Basically, I have a Visual Studio 2005 Web Service. The service runs completely find on my local development...
7
by: Sky | last post by:
I have been looking for a more powerful version of GetType(string) that will find the Type no matter what, and will work even if only supplied "{TypeName}", not the full "{TypeName},{AssemblyName}"...
1
by: scpedicini | last post by:
Let's say that I've built an assembly called MyApi.dll with two different language resource files, one called DefaultResource.resx (which is my english resource file), and a german resource file...
1
by: vecozo | last post by:
Centralized resource files Hi, We are considering to migrate our custom asp.net localization procedure, to one that stored .Text properties of controls in a SQL database, towards the usage of...
1
by: Jason | last post by:
Greetings , I'm studying for a MS exam and I'm a little confused about assemblies. Not what they are but just a specific comment that I'm reading and it doesn't make sense to me. It reads ...
2
by: Nader | last post by:
I'm trying to use satellite assemblies in my web application. I got a problem with loading resource files. I have the falowing code: protected ResourceManager GetStrings = new...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.