G
Guest
Dear ASP newsgroup,
I have the following environment:
1) VS2005 ASP.NET 2.0 WebApplication called MyApp.
2) MyApp contains Strings.resx, Strings.en.resx and Strings.de.resx in
'App_GlobalResources' folder.
3) MyApp contains standard AssemblyVersion and AssemblyInformationalVersion
that control versioning.
4) MyApp is deployed to "c:\temp" using a web deployment project (MyAppDep)
with the following settings:
a) Allow this precompiled site to be updateable = false
b) Generate debug info = false
c) Merge all outputs to a single assembly = true, assembly name is MyApp.dll
d) Merge options = false
e) Signing = true, delay signing = false, APTCA = false
5) Compiling 'MyAppDep' deploys MyApp to c:\temp.
6) Create IIS application from C:\temp, everything works normally.
Problem:
At runtime all MyApp.resources.dll are ignored! always the neutral
Strings.resx values in MyApp.dll is used. The satellite assemblies always
have version 0.0.0.0 while my MyApp has normal version like 5.2.100.0.
I think the ResourceManager object is not able to load the resource dlls
because they have different versions! why do the satellite assemblies always
have version 0.0.0.0! shouldn't they be identical to MyApp.dll?
I tried two workarounds:
1) I used manually created de and en satellite assemblies that I created
using ResGen and al.exe where I manually set the version and fileversion to
that of MyApp.dll, this didn't not work either the deployed precompiled
MyApp.dll ignored all de and en satellite assemblies ( I even checked the
satellite assemblies version with ildasm and reflector!)
2) Only if I set the Merge option of the web deployment project to 0.0.0.0
then the correct satellite assembly is used and found ( I guess because
MyApp.dll has the same version as its satellite assemblies )
Workaround (2) is not a real solution for my product, I need to change the
version with each build!
Please suggest a solution(s) for me.
Best regards,
Faris Ahmed
I have the following environment:
1) VS2005 ASP.NET 2.0 WebApplication called MyApp.
2) MyApp contains Strings.resx, Strings.en.resx and Strings.de.resx in
'App_GlobalResources' folder.
3) MyApp contains standard AssemblyVersion and AssemblyInformationalVersion
that control versioning.
4) MyApp is deployed to "c:\temp" using a web deployment project (MyAppDep)
with the following settings:
a) Allow this precompiled site to be updateable = false
b) Generate debug info = false
c) Merge all outputs to a single assembly = true, assembly name is MyApp.dll
d) Merge options = false
e) Signing = true, delay signing = false, APTCA = false
5) Compiling 'MyAppDep' deploys MyApp to c:\temp.
6) Create IIS application from C:\temp, everything works normally.
Problem:
At runtime all MyApp.resources.dll are ignored! always the neutral
Strings.resx values in MyApp.dll is used. The satellite assemblies always
have version 0.0.0.0 while my MyApp has normal version like 5.2.100.0.
I think the ResourceManager object is not able to load the resource dlls
because they have different versions! why do the satellite assemblies always
have version 0.0.0.0! shouldn't they be identical to MyApp.dll?
I tried two workarounds:
1) I used manually created de and en satellite assemblies that I created
using ResGen and al.exe where I manually set the version and fileversion to
that of MyApp.dll, this didn't not work either the deployed precompiled
MyApp.dll ignored all de and en satellite assemblies ( I even checked the
satellite assemblies version with ildasm and reflector!)
2) Only if I set the Merge option of the web deployment project to 0.0.0.0
then the correct satellite assembly is used and found ( I guess because
MyApp.dll has the same version as its satellite assemblies )
Workaround (2) is not a real solution for my product, I need to change the
version with each build!
Please suggest a solution(s) for me.
Best regards,
Faris Ahmed