Merge pull request #2532 from lambdageek/monoerror-mono_object_new
[mono.git] / msvc / scripts / README
index 5b8b3713f1b60fef602e6798ac86bed3bb9c6069..e73eab7fc0b09ee6bd5479406d0427f15a0af8f2 100644 (file)
@@ -1,3 +1,5 @@
+README                                 Last updated: 2013-01-09
+
 Visual Studio Build Setup for Mono's Managed Code
 =================================================
 
 Visual Studio Build Setup for Mono's Managed Code
 =================================================
 
@@ -34,14 +36,64 @@ necessary to build the Mono class libraries.
        With this input, it is possible to generate an XML file, to do
        this do:
 
        With this input, it is possible to generate an XML file, to do
        this do:
 
-                 make package-inputs
+                 make package-inputs
 
        This will generate order.xml, this contains the ordered list in
        which directories must be compiled as well as the command line
        options used to build it.
 
 
        This will generate order.xml, this contains the ordered list in
        which directories must be compiled as well as the command line
        options used to build it.
 
-* Generate csproj files
+* Generate .csproj and .sln files
 
        Run the genproj.exe executable in this directory.
 
 
        Run the genproj.exe executable in this directory.
 
+          On Windows:
+               cd msvc/scripts/
+               /cygdrive/c/Windows/Microsoft.NET/Framework/v4.0.30319/MSBuild.exe genproj.csproj
+               ./genproj.exe
+
+          On Mac:
+               cd msvc/scripts/
+               make genproj.exe
+               mono genproj.exe
+               
+       One output of genproj is the solutions for the successive profiles, 
+       like net_4_x.sln.
+
+       The command
+               ./genproj.exe -h 
+       lists a couple of options, notably to limit the scope of 
+       the output solutions for each profiles to System*.dll assemblies 
+       and dependencies.
+
+* Compiling from Visual Studio
+
+       Before you try to compile from Visual Studio, you are *strongly* 
+       advised to set the maximum number of parallel project builds 
+       to 1 (Tools -> Options -> Projects and Solutions -> Build and Run)
+       Due to the iterative building process for some of Mono's 
+       assemblies, there can be clashes writing to /obj/Debug for 
+       some projects
+
+* KNOWN ISSUES
+
+       * We are currently not running "sn" to sign the assemblies
+       
+       * We do not have an "install" target, perhaps we should generate
+       this based on something similar to the update-csproj setup
+
+       * Audit: every Makefile for "local" changes, as those are not
+        visible to this tool.
+
+* OLD KNOWN ISSUES
+
+       * Many assemblies still fail to compile, due to missing project 
+       references output by genproj, or other issues yet to determine
+       
+       * The first build of a solution may have a large number of 
+       failing compilations, more than subsequent solution Builds
+       
+       * The .NET 2.0 profile assemblies end up targetting the 
+       v4.0 runtime, even when requesting 2.0 in the csproj file
+       (http://social.msdn.microsoft.com/Forums/en-US/msbuild/
+       thread/6c9cd0e1-7fb8-480a-b006-f034b5926e03)