473,407 Members | 2,315 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,407 software developers and data experts.

.NET components version control and consistency

Hi!

How can I achieve the situation like that:
there is some application (.NET) and it is using some class library
(strongly named, installed by .msi, registered within GAC). I'd like to have
a crash on my client application when the class library version differs from
the one compiled with my application earlier e.g. my_app_version1 and
my_class_lib_version1 works fine but my_app_version1 and
my_class_lib_version2 cause crash.

I have one approach but it doesn't fit my scheme: to pool all the assembly
strings out of code to .config file and supply them with version numbers
(then my class factories will not be able to instantiate some objects
because there will be a different version)

Thanks in advance for any advises/suggestions!

Jul 21 '05 #1
4 1474
If I read your mail correctly, you are describing the default behaviour of
the runtime, so you dont have to do anything.
I'd like to have a crash on my client application
Your application won't crash, it just will not start.

Nick Holmes.
"Ostap Radkovskiy" <or*****@softservecom.com> wrote in message
news:e6**************@tk2msftngp13.phx.gbl... Hi!

How can I achieve the situation like that:
there is some application (.NET) and it is using some class library
(strongly named, installed by .msi, registered within GAC). I'd like to have a crash on my client application when the class library version differs from the one compiled with my application earlier e.g. my_app_version1 and
my_class_lib_version1 works fine but my_app_version1 and
my_class_lib_version2 cause crash.

I have one approach but it doesn't fit my scheme: to pool all the assembly
strings out of code to .config file and supply them with version numbers
(then my class factories will not be able to instantiate some objects
because there will be a different version)

Thanks in advance for any advises/suggestions!

Jul 21 '05 #2
Absolutely correct, thank you Nick.

Now I've got the other point - to restrict application working with only
certain lib version - e.g. I have some library installed, I'm building my
project with that library although my project should work with it's older
version. The project compiles successfully (no interface differences), but
acutally there is an error prone situation because my project is expecting
to execute the older functionality of the library. Here I'd like to get an
error saying "wrong library/component version"

Any ideas?

Thank you.

"Nick Holmes" <ni***@nospam.com> wrote in message
news:%2****************@TK2MSFTNGP09.phx.gbl...
If I read your mail correctly, you are describing the default behaviour of
the runtime, so you dont have to do anything.
I'd like to have a crash on my client application


Your application won't crash, it just will not start.

Nick Holmes.
"Ostap Radkovskiy" <or*****@softservecom.com> wrote in message
news:e6**************@tk2msftngp13.phx.gbl...
Hi!

How can I achieve the situation like that:
there is some application (.NET) and it is using some class library
(strongly named, installed by .msi, registered within GAC). I'd like to

have
a crash on my client application when the class library version differs

from
the one compiled with my application earlier e.g. my_app_version1 and
my_class_lib_version1 works fine but my_app_version1 and
my_class_lib_version2 cause crash.

I have one approach but it doesn't fit my scheme: to pool all the assembly strings out of code to .config file and supply them with version numbers
(then my class factories will not be able to instantiate some objects
because there will be a different version)

Thanks in advance for any advises/suggestions!


Jul 21 '05 #3
I think you're looking for 'strong naming'. Check out the article at
http://www.ondotnet.com/pub/a/dotnet...ongnaming.html

Yves

"Ostap Radkovskiy" <or*****@softservecom.com> schreef in bericht
news:%2****************@TK2MSFTNGP11.phx.gbl...
Absolutely correct, thank you Nick.

Now I've got the other point - to restrict application working with only
certain lib version - e.g. I have some library installed, I'm building my
project with that library although my project should work with it's older
version. The project compiles successfully (no interface differences), but
acutally there is an error prone situation because my project is expecting
to execute the older functionality of the library. Here I'd like to get an
error saying "wrong library/component version"

Any ideas?

Thank you.

"Nick Holmes" <ni***@nospam.com> wrote in message
news:%2****************@TK2MSFTNGP09.phx.gbl...
If I read your mail correctly, you are describing the default behaviour of
the runtime, so you dont have to do anything.
I'd like to have a crash on my client application


Your application won't crash, it just will not start.

Nick Holmes.
"Ostap Radkovskiy" <or*****@softservecom.com> wrote in message
news:e6**************@tk2msftngp13.phx.gbl...
Hi!

How can I achieve the situation like that:
there is some application (.NET) and it is using some class library
(strongly named, installed by .msi, registered within GAC). I'd like to
have
a crash on my client application when the class library version
differs from
the one compiled with my application earlier e.g. my_app_version1 and
my_class_lib_version1 works fine but my_app_version1 and
my_class_lib_version2 cause crash.

I have one approach but it doesn't fit my scheme: to pool all the

assembly strings out of code to .config file and supply them with version

numbers (then my class factories will not be able to instantiate some objects
because there will be a different version)

Thanks in advance for any advises/suggestions!



Jul 21 '05 #4
Thanks phoenix,

strong naming is good (versioning stands on it). Although by itself, strong
naming seems not to be able in solve my problem.

"phoenix" <pa******@skynetWORK.be> wrote in message
news:%2****************@TK2MSFTNGP12.phx.gbl...
I think you're looking for 'strong naming'. Check out the article at
http://www.ondotnet.com/pub/a/dotnet...ongnaming.html

Yves

"Ostap Radkovskiy" <or*****@softservecom.com> schreef in bericht
news:%2****************@TK2MSFTNGP11.phx.gbl...
Absolutely correct, thank you Nick.

Now I've got the other point - to restrict application working with only
certain lib version - e.g. I have some library installed, I'm building my project with that library although my project should work with it's older version. The project compiles successfully (no interface differences), but acutally there is an error prone situation because my project is expecting to execute the older functionality of the library. Here I'd like to get an error saying "wrong library/component version"

Any ideas?

Thank you.

"Nick Holmes" <ni***@nospam.com> wrote in message
news:%2****************@TK2MSFTNGP09.phx.gbl...
If I read your mail correctly, you are describing the default behaviour
of the runtime, so you dont have to do anything.

>I'd like to have a crash on my client application

Your application won't crash, it just will not start.

Nick Holmes.
"Ostap Radkovskiy" <or*****@softservecom.com> wrote in message
news:e6**************@tk2msftngp13.phx.gbl...
> Hi!
>
> How can I achieve the situation like that:
> there is some application (.NET) and it is using some class library
> (strongly named, installed by .msi, registered within GAC). I'd like to have
> a crash on my client application when the class library version differs from
> the one compiled with my application earlier e.g. my_app_version1
and > my_class_lib_version1 works fine but my_app_version1 and
> my_class_lib_version2 cause crash.
>
> I have one approach but it doesn't fit my scheme: to pool all the

assembly
> strings out of code to .config file and supply them with version

numbers > (then my class factories will not be able to instantiate some objects > because there will be a different version)
>
> Thanks in advance for any advises/suggestions!
>
>
>



Jul 21 '05 #5

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

Similar topics

0
by: Christophe | last post by:
hi, I work alone but still use VSS for de version feature.(Version 6.0d build 9848) When I load a project from the start page that is a VSS project, I can't open de option window in de tool menu...
1
by: Ostap Radkovskiy | last post by:
Hi! How can I achieve the situation like that: there is some application (.NET) and it is using some class library (strongly named, installed by .msi, registered within GAC). I'd like to have a...
0
by: petro | last post by:
I am trying to deploy an asp.net application to my web server. My application uses system.data.oledb to connect to an oracle database. On my development machine I have the oracle client 10g...
5
by: Patrick Vanden Driessche | last post by:
Hi All, I'm currently writing an in-house Form validation framework (WinForms) which is based on 'Component'-inheriting object. So basically, I have a small hierarchy. FormValidator +--...
1
by: Ellis Yu | last post by:
Dear all, I write my own components for my project and add them in "My User Control" under the toolbar. Some time later, I make some other new components into it and want to use them in my...
4
by: Ostap Radkovskiy | last post by:
Hi! How can I achieve the situation like that: there is some application (.NET) and it is using some class library (strongly named, installed by .msi, registered within GAC). I'd like to have a...
7
by: crowl | last post by:
VS.2003, .NET Framework 1.1, C# My goal: Creating a dll (helper.dll) which contains some UserControls and some other helpful classes in order to use it in other projects. Symtoms: The...
7
by: John | last post by:
I'm trying to use the OWC on my web form and trying to make it look like Excel. I have the box there but no formatting such as headers, bold font, etc. I have the same control on a asp page and I...
2
by: =?Utf-8?B?Tm9tYW4gQWxp?= | last post by:
Hi, We are facing a strange problem in our ASP. NET website. Some times it gives the following unhandled exception. Error Message: Exception of type System.Web.HttpUnhandledException was...
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: 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,...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

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.