Hello.

This should be challenging for someone.

I have acquired a legacy .Net application running DataObjects v2.5.0.1 (I know, it's old).

I am getting a "Domain Construction" error when the Domain.Build(domainUpdateMode) line is executed. However, if I hold the "Ctrl-Shift" keys and select to rebuild with the perform method, the error is bypassed and I go into the app without issue. But I have to do this EVERY time.

Additional info: Domain construction error. Unknown error during extraction of Domain Database Model. Inner exception System.ArgumentNullException: Value cannot be null. Parameter name: value

I cannot go into the code beyond the line of the error (even with F11) so I cannot follow what is happening. Any help or ideas will be greatly appreciated.

Thanks!

asked Mar 07 '11 at 15:54

RZT's gravatar image

RZT
5222

Hello,

Obviously the error relates to some bug in database extractor part. It must be easy to fix, but unfortunatelly I even don't know if we have sources of such an old DataObjects version. Personally I've never seen it, so most probably we don't.

As an alternative it is always possible to decompile DataObjects assembly with Reflector, fix it and compile back, but it is hacking way and as the result you will stay with unsupportable persistence layer.

(Mar 08 '11 at 13:12) Alex Ustinov Alex%20Ustinov's gravatar image

Do you plan to some way support, modify or develop this legacy application? If yes I'd recomment you to make a try to switch to DataObjects 3.8.x version. Assuming that API has not dramatically changed it seems quite easy (Of course this assumption must be checked at first).

DataObjects 3.8.x is stable. We have its sources and it is possible to build assemblies for .NET 1.1

May be it is an option for you.

(Mar 08 '11 at 13:19) Alex Ustinov Alex%20Ustinov's gravatar image

2 Answers:

Alex & Alex,

Thank you very much for your responses.

Do you think the error/problem is in DataObjects or in my application? My understanding is that the application was running without error at one point and then, after a source change, came up with this problem. Unfortunately, I do not know what the source code change was so I cannot focus on that as a possible solution.

Do you think that moving to v3.8 would require any changes to the application itself? If so, to what degree?

Yes, I would be grateful if you could assist me with a possible conversion to v3.8. While I am an experienced developer, I am only superficially familiar with DataObjects, so be prepared for that!

So, what is the next step? If you would prefer to communicate via email or chat, etc. to facilitate communications, just let me know.

Again, thanks!

answered Mar 10 '11 at 10:23

RZT's gravatar image

RZT
5222

Yes, e-mail (alex @ x-tensive.com) / Skype (alexyakunin) is preferable in this case. Please leave me a message to start it.

(Mar 11 '11 at 07:04) Alex Yakunin Alex%20Yakunin's gravatar image

RZT, just want to notify you we didn't get an e-mail. If it was sent, please notify me here or in Skype.

(Mar 16 '11 at 02:49) Alex Yakunin Alex%20Yakunin's gravatar image

Few more comments:

I even don't know if we have sources of such an old DataObjects version

Likely, it's possible to locate the source of ~ 6.5 years old version. The main problem is to locate the right repository copy - that version could be stored even in VSS; we switched to SVN when we started to develop v3.X; v4.X repository is stored in Hg. So it won't be a peace of cake anyway.

But the main issue is building that version. v3.X and v4.X are build @ build server, that is configured for this. But v2.X definitely requires different versions of build tools, so actually setting up its build environment could require a day or so.

If yes I'd recomment you to make a try to switch to DataObjects 3.8.x version.

I absolutely agree with this recommendation. If you don't want to do this by your own, we could help you with this.

answered Mar 09 '11 at 03:00

Alex%20Yakunin's gravatar image

Alex Yakunin
29714412

edited Mar 09 '11 at 03:02

Your answer
Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
toggle preview

powered by OSQA