MDriven Source code instructions
No edit summary
No edit summary
Line 1: Line 1:
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.
When you subscribe 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 )
(compiled with C:\CapableObjectsWush\build\GetAndBuildCSharp )


===== Minimum needed =====
===== 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
The minimum build would be able to produce the runtime parts you often 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  
You can build these - and run the designer and VS plugin from the standard install. This is the recommended approach.


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


===== Full build =====
===== Full Build =====
Open Eco.VS2017.sln in VS2019.  
Open Eco.VS2017.sln in VS2019.  


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


In sub folder Source:
In the subfolder Source:


<s>remove the postfix noscriptbuild  on files that have it (replace files if other file exists)</s>
<s>remove the postfix noscriptbuild  on files that have it (replace files if other file exists)</s>
Line 24: Line 24:
<s>Remove Configuration.csexp files from project Eco.Interface and replace with Configuration.cs(.noscriptbuild)</s>
<s>Remove Configuration.csexp files from project Eco.Interface and replace with Configuration.cs(.noscriptbuild)</s>


''Remove the reference to misssing file C:\YourDir\Stage\Temp\Eco.Interfaces\Configuration.csexp found in the Eco.Interfaces project - replace to renamed Configuration.cs(.noscriptbuild) located in<nowiki>''</nowiki> source\Eco\Eco.Interfaces\ , DOUBLE CHECK that build action is Compile.''  
''Remove the reference to the missing file C:\YourDir\Stage\Temp\Eco.Interfaces\Configuration.csexp found in the Eco.Interfaces project - replace it with the renamed Configuration.cs(.noscriptbuild) located in<nowiki>''</nowiki> source\Eco\Eco.Interfaces\. DOUBLE CHECK that the build action is Compile.''  


''Focus first to the Eco.Interfaces to build - everything uses this - so fix this first.''  
''Focus first on building the Eco.Interfaces - everything uses this, so fix this first.''  


<s>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</s>
<s>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</s>


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[[File:2018-11-05 08h53 59.png|none|thumb]]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  
All projects try to sign assemble with the snk key - ..\..\..\ecokey.snk. This key is not distributed - you will need to create your own local key. In the directory above Source, save the file ecokey.snk. You can create a key in project properties signing. Either remove signing per project or create your own key. [[File:2018-11-05 08h53 59.png|none|thumb]]If you remove the key, you cannot GAC the assembly and you will need to remove the build action that does 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 missing resource files from the project.


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


Build.
Build.
Line 40: Line 40:
Find output in Start/Stage/Bin and Start/Stage/Modlr.
Find output in Start/Stage/Bin and Start/Stage/Modlr.


At this point you should have MDrivenFramework compiled.
At this point, you should have the MDrivenFramework compiled.


(This error is not blocking and comes from the fact that the plugin is found in GAC but the assmebly is not found in GAC  
(This error is not blocking and comes from the fact that the plugin is found in GAC but the assembly is not found in GAC.


Error CreatePkgDef : error : ProvideCodeBaseAttribute: Could not load specified assembly: 'Microsoft.IO.RecyclableMemoryStream' reason: Could not load file or assembly 'file:///C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\Eco.Ide.VS\v4.0_7.0.0.11646__e16273f875fba65f\Microsoft.IO.RecyclableMemoryStream.dll' or one of its dependencies. The system cannot find the file specified. Eco.Ide.VS.VS2017
Error CreatePkgDef : error : ProvideCodeBaseAttribute: Could not load specified assembly: 'Microsoft.IO.RecyclableMemoryStream' reason: Could not load file or assembly 'file:///C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\Eco.Ide.VS\v4.0_7.0.0.11646__e16273f875fba65f\Microsoft.IO.RecyclableMemoryStream.dll' or one of its dependencies. The system cannot find the file specified. Eco.Ide.VS.VS2017
Line 48: Line 48:
)
)


====== Do you need design time build? If yes we need to make sure YOUR build is compatible with YOUR design: ======
====== Do you need a design-time build? If yes, we need to make sure YOUR build is compatible with YOUR design: ======
1. Open Eco.Interfaces/Configuration.cs
1. Open Eco.Interfaces/Configuration.cs


2. Change the version buildnumber to say .1000, clean all, build all
2. Change the version build number 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
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
The last numbers are the thumbprint of YOUR KEY. Paste it into Configuration.cs.


Our Configuration now looks like this:
Our Configuration now looks like this:
Line 68: Line 68:


6. Open Modlr, Build all
6. Open Modlr, Build all
 
* You now have ECO and Modlr compiled with YOUR KEY.
You now how ECO and Modlr compiled with YOUR KEY
7. Close all VS
 
Close all VS


Plugin installed:
Plugin installed:


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


2. Replace contents in program files(x86)/capableObjects/Bin and modlr  with your assemblies from Stage
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:
3. Replace files here in the VisualStudio plugin folder - it 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\ECO\7.0
Line 85: Line 83:
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\CapableObjects\Modlr\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)
4. Search the 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)
!!! Also, change the version where it is mentioned in the registry (this will always be in conjunction with the key).


Start VS, Check Tools - About MDriven - does it say your version nr?
Start VS, Check Tools - About MDriven - does it say your version now?
[[Category:Source Code]]
[[Category:Source Code]]

Revision as of 09:51, 25 January 2023

When you subscribe 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 able to produce the runtime parts you often use: Eco.Interfaces, Eco.Handles, maybe Eco.Persistence, maybe Eco.LinqExtensions

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

Environment

Projects should be built with VS2019, even if named with other versions. Old versions may be built with VS2019 but may require an older IDE.

Full Build

Open Eco.VS2017.sln in VS2019.

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

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

In the subfolder 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)

Remove the reference to the missing file C:\YourDir\Stage\Temp\Eco.Interfaces\Configuration.csexp found in the Eco.Interfaces project - replace it with the renamed Configuration.cs(.noscriptbuild) located in'' source\Eco\Eco.Interfaces\. DOUBLE CHECK that the build action is Compile.

Focus first on building the Eco.Interfaces - everything uses this, so fix this first.

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 assemble with the snk key - ..\..\..\ecokey.snk. This key is not distributed - you will need to create your own local key. In the directory above Source, save the file ecokey.snk. You can create a 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 does 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 the project.

Remove unneeded PersistenceMapper-projects or install third-party drivers.

Build.

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

At this point, you should have the MDrivenFramework compiled.

(This error is not blocking and comes from the fact that the plugin is found in GAC but the assembly is not found in GAC.

Error CreatePkgDef : error : ProvideCodeBaseAttribute: Could not load specified assembly: 'Microsoft.IO.RecyclableMemoryStream' reason: Could not load file or assembly 'file:///C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\Eco.Ide.VS\v4.0_7.0.0.11646__e16273f875fba65f\Microsoft.IO.RecyclableMemoryStream.dll' or one of its dependencies. The system cannot find the file specified. Eco.Ide.VS.VS2017

)

Do you need a 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 build number 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 the thumbprint of YOUR KEY. Paste it 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 have ECO and Modlr compiled with YOUR KEY.

7. Close all VS

Plugin installed:

1. Install an official build of ECO for VS201X (if you do 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 the VisualStudio plugin folder - it 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 the registry after ECO official key: 46a833be9e90de8c - replace with your new key (2d9e0870895d5d61 in this example)

!!! Also, change the version where it is mentioned in the registry (this will always be in conjunction with the key).

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

This page was edited 147 days ago on 12/20/2023. What links here