473,787 Members | 2,932 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

dll versioning problems

Hi

I've been working on a collection of custom controls that inherit a lot
of the basic windows controls with a few additional things, one of
which means every single custom control references a dll that gives
dynamic functionality to the controls.

The only problem is that this dll will be worked on constantly with
extra functionality and fixes done to it, whilst my controls don't
require many updates.

Currently everytime the other dll changes I have to do a mass build of
a lot of projects just so that the new version can be used without the
program that uses them bombing out.

is there any way to make my controls to be able to use the .dll without
being so dependant upon a specific version? all the dlls are strong
named (the problem existed before strong naming anyway)

many thanks

Kris Wragg

Apr 4 '06 #1
7 1477
Hi,
"Kristopher Wragg" <xa****@xafie rs-home.com> wrote in message
news:11******** *************@i 39g2000cwa.goog legroups.com...
Hi The only problem is that this dll will be worked on constantly with
extra functionality and fixes done to it, whilst my controls don't
require many updates.


Do you change the interface of the types defined in these dlls?

If not what you can do is using interfaces. You define an interface and
store it in a separate dll (this part is important) and both your controls
as well as the dlls use this interface.
You can load the dlls needed using reflection at runtime.

--
Ignacio Machin,
ignacio.machin AT dot.state.fl.us
Florida Department Of Transportation
Apr 4 '06 #2
At the moment there isn't any interfaces being used, not sure how much
work would be involved in moving that direction as I'm not actually
working on the other dll developer from another office is working on
it.

There will only be extra functionality added to the classes, theres
just one main class the other classes are for the property grid with a
UITypeEditor etc...

are there any other approaches? if not any more information regarding
loading the dll's with reflection? it sounds not particulally the best
idea in the world as the controls will be part of a designing tool
where the end user can drag and drop these controls to make their own
dynamically created views.

thanks

Kris Wragg

Apr 4 '06 #3

"Kristopher Wragg" <xa****@xafie rs-home.com> wrote in message
news:11******** **************@ u72g2000cwu.goo glegroups.com.. .
At the moment there isn't any interfaces being used, not sure how much
work would be involved in moving that direction as I'm not actually
working on the other dll developer from another office is working on
it.

There will only be extra functionality added to the classes, theres
just one main class the other classes are for the property grid with a
UITypeEditor etc...

are there any other approaches? if not any more information regarding
loading the dll's with reflection? it sounds not particulally the best
idea in the world as the controls will be part of a designing tool
where the end user can drag and drop these controls to make their own
dynamically created views.


Are you incrementing the AssemblyVersion on each build? If so, stop doing
that. It's very bad practice. Use AssemblyFileVer sion to track builds, and
only change AssemblyVersion when you want force recompilation of dependant
assemblies.

David
Apr 4 '06 #4
Well we had the idea of leaving it always as 1.0.0.0 but we thought
that would be pretty bad practise as we wouldn't be able to ask
customers to provide version numbers as it wouldn't be significant.

One of the main problems also lies in the fact that although we can
release a whole set of new controls based on say 1.0.0.1 customers can
create their own controls/views dynamically with our program, which
will be based on 1.0.0.0 so when we update them to 1.0.0.1 they'll
suddenly have to go and recreate everything they've ever done...

The more I think about this problem the worse it's sounding...

Apr 4 '06 #5
I'm not sure if using interfaces is the answer to the solution... the
only code that actually uses the other class looks like this:

private AlertSelector selector = new AlertSelector() ;

[Browsable(true) , Category("Behav ior")]
[Editor(typeof(S electorEditor), typeof(UITypeEd itor))]
public AlertSelector Selector
{
get { return selector; }
set { selector = value; }
}

its just a property that the user can then get access to and make
changes through the property grid when designing their own views... I
don't have a clue how that would be implemented using interfaces...

As for not auto-incrementing, thats fine whilst the product isn't
released, but once the end-users are creating their own dll's through
our view builder and they references v1.0.0.0 and we release v1.0.0.1
all their current work will be unusable...

are there any other ideas? I've got till Friday to fix this problem for
my boss before he fly's off to the US with out beta version =\

Apr 5 '06 #6
"Kristopher Wragg" wrote:
The only problem is that this dll will be worked on constantly with
extra functionality and fixes done to it, whilst my controls don't
require many updates.

Currently everytime the other dll changes I have to do a mass build of
a lot of projects just so that the new version can be used without the
program that uses them bombing out.


I believe this is what the GAC is for. It basically allows you to tell the
..Net framework that you're taking responsibility for maintaining
compatibility between versions, and you can say something like "anything that
requires version 1.0.0.0 of my dll can really safely use 1.0.3.42". While I
haven't ever worked with anything like that, my understanding is that the
stuff for creating distributions can handle installing things to the GAC if
you give it the relevant information.
Apr 5 '06 #7
Yeah I've found that I can install a policy into the GAC for my dll's,
but I think I've found a more relevant way of doing it through
IExplore.exe.co nfig for when customers are viewing things through IE.
And do the policy for the machines that are building the views.

Just having trouble with some of my controls permissions now...
overriding CreateParams needs Full permissions, which I have due to a
CAS policy with regards to our digital certificate but I can't find how
to assert this permission at the right place due to CreateParams being
a property not a procedure or class...

Apr 6 '06 #8

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

Similar topics

4
2353
by: Sandman | last post by:
Hello - I suppose this group could be suitable for my questions... I am interested in a versioning system that works good for web authoring. I don't know what differences web development might pose oon a versioning system, but I have a feeling that it might. First off - I already have a web project up and running with over 160 000 lines of code. It is spread over a large hierarchy that mixes PHP documents with images. The hierachy also...
0
407
by: Doug | last post by:
I have component A that references component B and component B uses versioning and publisher policy files. Component A also references component C and component C also references component B. A was compiled against version 1.0.0.1 for component B and C was referenced against version 1.0.0.0 for component B. Now when A calls functionality within component C that in turn calls component B I get an error ("component B or one of it's...
2
528
by: PatrickSA | last post by:
Hi, Am new to web services, so apologies for the basic nature of the question - and apologies in advance if this is the wrong newsgroup. We're building a new web service and I'm looking around for documentation on a number of issues, including versioning of web service interfaces... I've spent the last few hours looking through books, Google, MSDN and surprisingly I have found little or nothing that explains/shows how to practically...
0
1044
by: Martin | last post by:
Hey, I am currently writing a WebService ("Server") and a WinApp ("Client") so that a user can use a third program through the web. To do that the client needs a table from a database. Here is the setup: 1. WebService on the webserver - Can access the DB directly because it is located on the same
1
2120
by: MrNobody | last post by:
Is there any way to have .NET IDE to handle versioning for your application? If for example you want a certain build number to increment every time you build your project? Would need this version to be accessed by the application itself.
3
3754
by: Modica82 | last post by:
Hi all, Does anyone have any views/information on the best way to version web services. I am writing a proposal on how the company should handle versioning of its web services and would like some of your views. I dont have much at the moment, i am going to gather some research but as i said, any info would be greatly appreciated. Regards,
1
1663
by: zacks | last post by:
Am using VB.NET 2005. I have a solution that has four projects. Two projects are standard windows applications. One is a class library that is shared by the two windows application projects, it is primarily used to serialize/deserialize an XML configuration file.. The third project is a standard Setup project that installs the two windows applications. My question is regarding versioning of the solution. I would like for the entire...
1
2106
by: betbubble | last post by:
I replicate (transactional replication) my data entry database to a read-only database. Both are SQL 2000+SP4. The web server reads the read-only database. At times, there will be lots of changes in the data entry database, thus lots of replications to the read-only database. I am concerned that the replication may lock the data in the read-only database, causing slow response to the web server. I would like to use row versioning so that...
4
1993
by: =?Utf-8?B?U2NvdHQ=?= | last post by:
I have seen many articles describing why versioning web services are important. I have a scenario that I would like to propose to seek a solution. I have a publicly consumable web service. Two different clients, A and B, consume this service. I make framework and architecture modifications that are needed to my web services. Client "A" is ready for the upgrade while client "B" is not ready. I have to publish the update immediately...
1
2259
by: Coaster | last post by:
orig ref here http://groups.google.com/group/microsoft.public.dotnet.framework.aspnet/browse_thread/thread/ff29cc370678911d/c0db5b7e3da283b9?lnk=st&q=gac+assembly+new+version&rnum=7#c0db5b7e3da283b9 I have pasted the part I'm interested in below. My company doesn't use versioning or the gac and I'd like to. We're on vs.net 2005 & .net 2., is this still true or has it changed since then? thanks That article is not entirely accurate. ...
0
9497
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10169
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
10110
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 Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
9964
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 protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
8993
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, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
6749
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
1
4067
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
3670
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2894
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

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.