MDrivenWiki
Log in

MDriven Source code instructions

From MDrivenWiki

When subscribing to the source code license you will get access to a zip file containing all the source code to build eco and modlr.

(compiled with C:\CapableObjectsWush\build\GetAndBuildCSharp )

Minimum needed

The minimum build would be to produce the runtime parts you actually use. Eco.Interfaces, Eco.Handles, maybe Eco.Persistence, Maybe Eco.LinqExtensions

You can build these - and run the designer and VS plugin from standard install - this is the recommended approach

Environment

Projects should be built with VS2017, even if named with other version. Old versions may possibly be built with VS2017, but may require older IDE.

Full build

You need to massage the delivery a bit in order to build:

Extract .zip into your folder (creates ECO and Modlr)

In sub folder Source:

remove the postfix noscriptbuild  on files that have it (replace files if other file exists)

Remove Configuration.csexp files from project Eco.Interface and replace with Configuration.cs(.noscriptbuild)

In VS - files are found and included in project - if not - include (the ones you renamed from noscriptbuild). Make sure you set build action = compile on files you include in project

All projects try to sign assembly with snk key ..\..\..\ecokey.snk. This key is not distributed - you will need to create your own local key. In the directory above Source save file ecokey.snk. You can create key in project properties signing. Either remove signing per project, or create your own key
2018-11-05 08h53 59.png
If you remove the key – you cannot GAC the assembly and you will need to remove the build action that do the Gaccing - Source look for GacUtil in "$(ProjectDir)..\..\..\Xternal\DotNetSdk\v4.0\bin\Gacutil"- you can make sure it exists to avoid changing projects

Remove missing resource files from project.

Remove not needed PersistenceMapper-projects or install third party drivers.

Build.

Find output in Start/Stage/Bin and Start/Stage/Modlr.

Packages troubleshoot: There are versions with references to package configs not in the exported source. This shows up as NuGet Package missing on computer. Open offending project file in texteditor, edit like this

Import Project="..\..\StreamingApp\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets

Should be:

Import Project="..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets

At this point you should have ECO compiled.

Do you need design time build? If yes we need to make sure YOUR build is compatible with YOUR design:

1. Open Eco.Interfaces/Configuration.cs

2. Change the version buildnumber to say .1000, clean all, build all

3. Look up in GAC: C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Eco.Handles\v4.0_7.0.0.1000__2d9e0870895d5d61

The last numbers are thumbprint of YOUR KEY - paste it in into Configuration.cs

Our Configuration now looks like this:

public const string AssemblyFileVersion = "7.0.0.1000";

public const string PublicKey = "2d9e0870895d5d61";

4. Clean all, Build all

5. Close solution

6. Open Modlr, Build all

You now how ECO and Modlr compiled with YOUR KEY

Close all VS

Plugin installed:

1. Install an official build of ECO for VS201X (if you did not have it already)

2. Replace contents in program files(x86)/capableObjects/Bin and modlr  with your assemblies from Stage

3.Replace files here in VisualStudio plugin folder - differs between versions:

C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\CapableObjects\ECO\7.0

C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\CapableObjects\Modlr\7.0

4. Search registry after eco official key: 46a833be9e90de8c replace with your new key (2d9e0870895d5d61 in this example)

!!! And also change the version were it is mentioned in the registry (will always be in conjunction with key)

Start VS, Check Tools - About MDriven - does it say your version nr?