Discussion:
[MonoDevelop] 'cannot open assembly' error
Kusuma Sujiwo
2004-11-09 04:04:17 UTC
Permalink
Hi,

I'm trying to import project created with VS.Net. When I did File-Import
VS.Net Project, I'm getting error msg something like

** (/usr/lib/monodevelop/bin/dbgen.exe:4804): WARNING **: Could not find
assembly MonoDevelop.Base, references from
/usr/lib/monodevelop/bin/dbgen.exe (assemblyref_index=1)
Major/Minor: 0,5
Build: 1,0
Token:
System error: No such file or directory

cannot open assembly /usr/lib/monodevelop/bin/dbgen.exe
------------------------------------------------------------------------------------

And yet /usr/lib/monodevelop/bin/dbgen.exe exists. What does this error
mean? I'm new to mono and .net.

Thank you
Alexandre Gomes
2004-11-09 10:57:50 UTC
Permalink
In fact I think he could not find the MonoDevelop.Base.dll assembly.
Try to search for this file, if it is under /usr/local try to symlink it
to under /usr or vice-versa.
Post by Kusuma Sujiwo
Hi,
I'm trying to import project created with VS.Net. When I did
File-Import VS.Net Project, I'm getting error msg something like
** (/usr/lib/monodevelop/bin/dbgen.exe:4804): WARNING **: Could not
find assembly MonoDevelop.Base, references from
/usr/lib/monodevelop/bin/dbgen.exe (assemblyref_index=1)
Major/Minor: 0,5
Build: 1,0
System error: No such file or directory
cannot open assembly /usr/lib/monodevelop/bin/dbgen.exe
------------------------------------------------------------------------------------
And yet /usr/lib/monodevelop/bin/dbgen.exe exists. What does this
error mean? I'm new to mono and .net.
Thank you
_______________________________________________
Monodevelop-list mailing list
http://lists.ximian.com/mailman/listinfo/monodevelop-list
.
Kusuma Sujiwo
2004-11-10 01:03:55 UTC
Permalink
Post by Alexandre Gomes
In fact I think he could not find the MonoDevelop.Base.dll assembly.
Try to search for this file, if it is under /usr/local try to symlink
it to under /usr or vice-versa.
MonoDevelop.Base.dll is located on the same folder as dbgen.exe.

I made a bunch of symlinks from gtk-sharp installation to my
/usr/lib/monodevelop/bin/ and this eliminates all the 'cannot find
assembly' errors. Then I'm getting a list of msg like

'Reading
/root/.config/MonoDevelop/CodeCompletionData/ByteFX.MySqlClient_0.7.6.15073_f2fef6fed1732fc1.pidb'

Then nothing happen? Is this an error?

And since nothing is happening again, I click 'Run/Compile All' and
getting error

'Could not find: Interop.WIALib.dll
Could not find: ByteFX.MySqlClient.dll'

How can I add reference path so that md find these two dll? They are
located in the same folder as the .sln file. Does md not looking at this
folder for reference?

Is there docs on how to use Import/Export function? I hope I'm making
some sense here.

TIA,
Kusuma
Alexandre Gomes
2004-11-10 11:37:02 UTC
Permalink
Are you using monodevelop from subversion? If so you shouldn't symlink
the gtk-sharp files. Simply uninstall gtk-sharp2 from cvs, and install
it again with ./autogen.sh -prefix=/usr
This is due to mono default installation beeing in /usr but gtk-sharp2
from cvs default is /usr/local
Again, only do that if you are using monodevelop from subversion.

Now, your real question. The message you getting is normal. After you
load a project in MonoDevelop it read that pidb that I don't really know
what they are, but I think it is the database files for autocompletation
(can anyone confirm this to me?), anyway it's normal.

Now, the references. I don't think you really want this files next to
the solution files. When you compile either in VS.NET or
MonoDevelop/SharpDevelop the assemblies will be in
preoject_path/bin/debug (or release) you can check this behaviour (sorry
my english, I think I don't know how to write this word, lol) in project
properties. You can try to move this file into bin/debug folder or you
can delete the reference from the project and add it again
right-clicking references and choosing ".net assembly" and then browse
it. My first solution is advisable even if you need to re-add the reference.

Now, the *BAD* news.

*Could not find: Interop.WIALib.dll
*Could not find: ByteFX.MySqlClient.dll'

The not so bad: You should use the MySqlClient delivered with mono. I
think it is from ByteFX too. So it will be easy.
The *really* bad. This will not work in Linux. (dot) You are using a
windows COM and you created a Interop Assembly. Linux doesn't support
COM. Your first work arround is to find an library similar to that in
windows and build a Wrapper (Interop) assembly. Just like we do for
gtk-sharp that's a wrapper for a linux library called GTK and its coded
in native code. The second way is too reimplet that WIALib in 100%
Managed Code (C#). And the last option is to see if wine can handle that
COM .dll you are trying to use, that maybe really easy like "plug&play"
or can take a long way to do nothing... your shoot now!

Hope it helps,
Alexandre Gomes, Portugal
Post by Kusuma Sujiwo
Post by Alexandre Gomes
In fact I think he could not find the MonoDevelop.Base.dll assembly.
Try to search for this file, if it is under /usr/local try to symlink
it to under /usr or vice-versa.
MonoDevelop.Base.dll is located on the same folder as dbgen.exe.
I made a bunch of symlinks from gtk-sharp installation to my
/usr/lib/monodevelop/bin/ and this eliminates all the 'cannot find
assembly' errors. Then I'm getting a list of msg like
'Reading
/root/.config/MonoDevelop/CodeCompletionData/ByteFX.MySqlClient_0.7.6.15073_f2fef6fed1732fc1.pidb'
Then nothing happen? Is this an error?
And since nothing is happening again, I click 'Run/Compile All' and
getting error
'Could not find: Interop.WIALib.dll
Could not find: ByteFX.MySqlClient.dll'
How can I add reference path so that md find these two dll? They are
located in the same folder as the .sln file. Does md not looking at
this folder for reference?
Is there docs on how to use Import/Export function? I hope I'm making
some sense here.
TIA,
Kusuma
_______________________________________________
Monodevelop-list mailing list
http://lists.ximian.com/mailman/listinfo/monodevelop-list
.
Kusuma Sujiwo
2004-11-11 03:15:21 UTC
Permalink
First, many thanks to Alexandre Gomes for your explanation. I really
appreciate it.
Post by Alexandre Gomes
Are you using monodevelop from subversion? If so you shouldn't symlink
the gtk-sharp files. Simply uninstall gtk-sharp2 from cvs, and install
it again with ./autogen.sh -prefix=/usr
This is due to mono default installation beeing in /usr but gtk-sharp2
from cvs default is /usr/local
Again, only do that if you are using monodevelop from subversion.
Hmm...what is subversion about? I'm using ubuntu linux and I use its
synaptic package to install md. So I dont know whether the package was
build from subversion or other version :? And when I installed
gtk-sharp, I think I use /configure -prefix=usr, so it's installed to
/usr/share/dotnet/mono/gtk-sharp and there is gecko-sharp on the same
folder. I symlink gecko-sharp.dll to monodevelop/bin as well. Otherwise
md raise a complain cant find/load gecko-sharp. Hu uh, I hope I'm not
being suicidal here.
Post by Alexandre Gomes
Now, the references. I don't think you really want this files next to
the solution files. When you compile either in VS.NET or
MonoDevelop/SharpDevelop the assemblies will be in
preoject_path/bin/debug (or release) you can check this behaviour
(sorry my english, I think I don't know how to write this word, lol)
in project properties. You can try to move this file into bin/debug
folder or you can delete the reference from the project and add it
again right-clicking references and choosing ".net assembly" and then
browse it. My first solution is advisable even if you need to re-add
the reference.
I've copied .dll files to both bin/ and bin/debug/ but I'm still getting
cannot load/find dll error. Then I try your second solution, select
".net assembly" from bin/debug/. I ended up using both your solution but
some how it works. :P
Post by Alexandre Gomes
Hope it helps,
It certainly is.

Regards,
Kusuma

Continue reading on narkive:
Loading...