No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
When | 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 | ===== Minimum Needed ===== | ||
The minimum build would be to produce the runtime parts you | 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 | 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 | 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 | ===== 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 | 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 | ''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 | ''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 | 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 | 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 | (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 | 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 | 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 | 7. Close all VS | ||
Close all VS | |||
Plugin installed: | Plugin installed: | ||
1. Install an official build of ECO for VS201X (if you | 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 | 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 | 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 | 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.
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?