MDriven Source code instructions
No edit summary
m ((username removed) (log details removed): Moving to BestPractices namespace)
 
(7 intermediate revisions by 3 users not shown)
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 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 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 VS2017, even if named with other version. Old versions may possibly be built with VS2017, 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 =====
You need to massage the delivery a bit in order to build:
1. Open Eco.VS2017.sln in VS2019.


Extract .zip into your folder (creates ECO and Modlr)
2. Massage the delivery a bit in order to build:


In sub folder Source:
3. Extract the .zip into your folder (creates ECO and Modlr)


<s>remove the postfix noscriptbuild  on files that have it (replace files if other file exists)</s>
In the subfolder Source:<blockquote>''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.''</blockquote><blockquote>''Focus first on building the Eco.Interfaces - everything uses this, so fix this first.''</blockquote>All projects try to sign their assembly 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. (To learn more about assemblies, visit: https://learn.microsoft.com/en-us/dotnet/standard/assembly/)[[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. 


<s>Remove Configuration.csexp files from project Eco.Interface and replace with Configuration.cs(.noscriptbuild)</s>
4. Remove missing resource files from the project.


''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.''
5. Remove unneeded PersistenceMapper-projects or install third-party drivers.


''Focus first to the Eco.Interfaces to build - everything uses this - so fix this first.''
6. Build.


<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>
7. Find output in Start/Stage/Bin and Start/Stage/Modlr.


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
At this point, you should have the MDrivenFramework compiled.


Remove missing resource files from project.
(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. <blockquote>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</blockquote><blockquote>)</blockquote>


Remove not needed PersistenceMapper-projects or install third party drivers.
====== Do you need a design-time build? If yes, you need to make sure YOUR build is compatible with YOUR design: ======
 
Build.
 
Find output in Start/Stage/Bin and Start/Stage/Modlr.
 
At this point you should have 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
 
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 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:
 
public const string AssemblyFileVersion = "7.0.0.1000";


public const string PublicKey = "2d9e0870895d5d61";
Your Configuration now looks like this:
public const string AssemblyFileVersion = "7.0.0.1000";


public const string PublicKey = "2d9e0870895d5d61";
4. Clean all, Build all
4. Clean all, Build all


Line 66: Line 50:


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)
a) 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 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
b) Replace contents in program files(x86)/capableObjects/Bin and Modlr with your assemblies from Stage.


4. Search registry after eco official key: 46a833be9e90de8c replace with your new key (2d9e0870895d5d61 in this example)
c) Replace files here in the VisualStudio plugin folder - it differs between versions:<blockquote>C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\CapableObjects\ECO\7.0</blockquote><blockquote>C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\CapableObjects\Modlr\7.0</blockquote>d) 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, and go to About MDriven - does it say your version now?
[[Category:Licensing]]

Latest revision as of 21:34, 20 December 2023

When you subscribe to the Source Code License, you 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 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

1. Open Eco.VS2017.sln in VS2019.

2. Massage the delivery a bit in order to build:

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

In the subfolder Source:

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.

All projects try to sign their assembly 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. (To learn more about assemblies, visit: https://learn.microsoft.com/en-us/dotnet/standard/assembly/)

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.

4. Remove missing resource files from the project.

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

6. Build.

7. 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, you 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.

Your 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:

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

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

c) 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

d) 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, and go to About MDriven - does it say your version now?

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