[Mono-bugs] [Bug 675718] New: If an assembly is linked to a non-MT component (i.e. System.EnterpriseServices) the linker fails with an unhelpful error message

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Mon Feb 28 16:11:40 EST 2011


https://bugzilla.novell.com/show_bug.cgi?id=675718

https://bugzilla.novell.com/show_bug.cgi?id=675718#c0


           Summary: If an assembly is linked to a non-MT component (i.e.
                    System.EnterpriseServices) the linker fails with an
                    unhelpful error message
    Classification: Mono
           Product: MonoDroid
           Version: unspecified
          Platform: x86-64
        OS/Version: Windows 7
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: Tools
        AssignedTo: mkestner at novell.com
        ReportedBy: chris at cartopac.com
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---
           Blocker: ---


User-Agent:       Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_6; en-US)
AppleWebKit/534.13 (KHTML, like Gecko) Chrome/9.0.597.102 Safari/534.13

This occurred on MonoDroid Preview 13

I added a web service proxy from within Visual Studio 2010 to a Monotouch Class
library project, which generated the SOAP proxies and added several references.
 One of these (un-needed) references was to System.EnterpriseServices, v 4.0.

After doing this, when I tried to build, I got an error indicating a problem
with the assets directory:

C:\Program Files (x86)\MSBuild\Novell\monodroid.exe -v --nosign
--sdk-dir="C:\Program Files (x86)\Android\android-sdk-windows"
--builddir="\\psf\Home\Documents\Projects\Trebuchet\svn\CartoPac.Trebuchet.
Client.TestProgram.Md\obj\Debug\android" --framework-dir="C:\Program Files
(x86)\Reference Assemblies\Microsoft\Framework\MonoDroid\v2.2"
--framework-dir="C:\Program Files (x86)\Reference
Assemblies\Microsoft\Framework\MonoDroid\v1.0"
-S="\\psf\Home\Documents\Projects\Trebuchet\svn\CartoPac.Trebuchet.Client.T
estProgram.Md\obj\Debug\res" --package="com.cartopac.trebuchettest"
--nolink --abi="armeabi" --java-sdk-dir="C:\Program Files
(x86)\Java\jdk1.6.0_23" --debug
--manifest-template="\\psf\Home\Documents\Projects\Trebuchet\svn\CartoPac.T
rebuchet.Client.TestProgram.Md\Properties\AndroidManifest.xml"
--sdk-platform="8"
"\\psf\Home\Documents\Projects\Trebuchet\svn\CartoPac.Trebuchet.Client.Test
Program.Md\bin\Debug\CartoPac.Trebuchet.Client.TestProgram.Md.dll"
"\\psf\Home\Documents\Projects\Trebuchet\svn\CartoPac.DataPipe.Md\bin\Debug
\CartoPac.DataPipe.Md.dll"
"\\psf\Home\Documents\Projects\Trebuchet\svn\CartoPac.Md\bin\Debug\CartoPac
Md.dll"
"\\psf\Home\Documents\Projects\Trebuchet\svn\CartoPac.Md.UI\bin\Debug\Carto
Pac.Md.UI.dll"
"\\psf\Home\Documents\Projects\Trebuchet\svn\CartoPac.Trebuchet.Client.Md\b
in\Debug\CartoPac.Trebuchet.Client.Md.dll"
"\\psf\Home\Documents\Projects\Trebuchet\svn\CartoPac.Trebuchet.Client.Serv
ices.Md\bin\Debug\CartoPac.Trebuchet.Client.Services.Md.dll" "C:\Program
Files (x86)\Reference
Assemblies\Microsoft\Framework\MonoDroid\v2.2\Mono.Android.dll"
"C:\Program Files (x86)\Reference
Assemblies\Microsoft\Framework\MonoDroid\v1.0\Mono.Data.Sqlite.dll"
"C:\Program Files (x86)\Reference
Assemblies\Microsoft\Framework\MonoDroid\v1.0\mscorlib.dll" "C:\Program
Files (x86)\Reference
Assemblies\Microsoft\Framework\MonoDroid\v1.0\System.Core.dll" "C:\Program
Files (x86)\Reference
Assemblies\Microsoft\Framework\MonoDroid\v1.0\System.dll" "C:\Program
Files (x86)\Reference
Assemblies\Microsoft\Framework\MonoDroid\v1.0\System.Xml.dll" "C:\Program
Files (x86)\Reference
Assemblies\Microsoft\Framework\MonoDroid\v1.0\System.Xml.Linq.dll"
MONODROID : error : while loading assemblies:
System.IO.DirectoryNotFoundException: Could not find a part of the path
'\\psf\Home\Documents\Projects\Trebuchet\svn\CartoPac.Trebuchet.Client.Test
Program.Md\obj\Debug\android\assets'.
     at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
     at System.IO.Directory.InternalGetFileDirectoryNames(String path,
String userPathOriginal, String searchPattern, Boolean includeFiles,
Boolean includeDirs, SearchOption searchOption)
     at System.IO.Directory.GetFiles(String path, String searchPattern,
SearchOption searchOption)
     at Monodroid.Tuner.MonoDroidResolver.DirectoryGetFile(String
directory, String file)
     at Monodroid.Tuner.MonoDroidResolver.SearchDirectory(String name,
String directory)
     at Monodroid.Tuner.MonoDroidResolver.Resolve(AssemblyNameReference
reference)
     at Monodroid.Scanner.ComputeListOfAssemblies(Arguments args,
HashSet`1 assemblies, AssemblyDefinition assembly)
     at Monodroid.Scanner.ComputeListOfAssemblies(Arguments args,
HashSet`1 assemblies, AssemblyDefinition assembly)
     at Monodroid.Scanner.ComputeListOfAssemblies(Arguments args,
HashSet`1 assemblies, AssemblyDefinition assembly)
     at Monodroid.Scanner.ComputeListOfAssemblies(Arguments args,
HashSet`1 assemblies, AssemblyDefinition assembly)
     at Monodroid.Scanner.ComputeListOfAssemblies(Arguments args,
HashSet`1 assemblies, AssemblyDefinition assembly)
     at Monodroid.Scanner.ComputeListOfAssemblies(Arguments args)
monodroid : error 1: System.NullReferenceException: Object reference not
set to an instance of an object.
     at Monodroid.Droidinator.CreateApk()
     at Monodroid.MainClass.Main(String[] argv)

Removing the reference in the service proxy project resolved the problem.


Reproducible: Didn't try

Steps to Reproduce:
1. Add a web service proxy to a MD class library.
2. Note the additional referenceto System.EnterpriseServices
3. Attempt to build an applicationa/activity linked to this class library
Actual Results:  
Fails to build, misleading message

Expected Results:  
That the dll linked to the wrong assembly would fail to build (rather than
succeeding itself), a message indicating the error.

-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the mono-bugs mailing list