BlueM.Opt Development: Difference between revisions

From BlueM
Jump to navigation Jump to search
(migration to GitHub, general page cleanup)
m (restructure)
 
(One intermediate revision by the same user not shown)
Line 3: Line 3:


==Source code==
==Source code==
BlueM.Opt is written in VB.NET and C#. The source code and issues are managed on GitHub: https://github.com/bluemodel/
BlueM.Opt is written in VB.NET and C#. The source code and issues are managed on GitHub: https://github.com/bluemodel/BlueM.Opt


[[BlueM.Sim]] and [[BlueM.DLLAdapter]] as well as [[TALSIM|Talsim-NG]] and [[SWMM]] are included in the repository as precompiled binaries, but [[BlueM.Wave]] needs to be checked out in a parallel folder.
[[BlueM.Sim]] and [[BlueM.DLLAdapter]] as well as [[TALSIM|Talsim-NG]] and [[SWMM]] are included in the repository as precompiled binaries, and [[BlueM.Wave]] is included as a submodule.


The individual components of BlueM.Opt are configured to build to a common parent output folder <code>..\bin\<Platform>\<Configuration></code>. The recommended folder structure is thus as follows:
==Compilation==
When compiling BlueM.Opt, a [https://www.steema.com/product/net TeeChart .NET] Pro license is required.


<pre>
For testing purposes, you can use the evaluation version of TeeChart by removing the files <code>My Project\TeeChart.licenses</code> from the project within Visual Studio or by adding a files in their place. This will allow you to compile, but any charts will be displayed with a watermark.
BlueM
- BlueM.Opt
- BlueM.Wave
</pre>
This also ensures that references to Wave work out of the box.  


When compiling BlueM.Opt and BlueM.Wave, a [https://www.steema.com/product/net TeeChart .NET] Pro license is required.
<div class="info">
'''Note:'''


For testing purposes, you can use the evaluation version of TeeChart by removing the file <code>My Project\TeeChart.licenses</code> from the project within Visual Studio. This will allow you to compile, but any charts will be displayed with a watermark.
BlueM.Wave is set up to be output to a subdirectory <code>BlueM.Wave</code>. For this to work, the following settings have been made:
* set <code><probing privatePath="BlueM.Wave"/></code> in <code>app.config</code>
* set the "Copy Local" property of all project references to Wave to False (corresponds to <code><Private>False</Private></code> in the project files).
* the main Wave assembly output is copied to the subdirectory in the post-build event
* additional assemblies used by Wave that are unfortunately automatically output to the main output folder (no idea why?) are moved to the subdirectory individually, also in the post-build event
 
This could probably be done better, but that's the way it is right now.
</div>


===Documentation===
===Documentation===

Latest revision as of 10:12, 11 February 2024

EVO.png BlueM.Opt | Download | Usage | Development

Source code

BlueM.Opt is written in VB.NET and C#. The source code and issues are managed on GitHub: https://github.com/bluemodel/BlueM.Opt

BlueM.Sim and BlueM.DLLAdapter as well as Talsim-NG and SWMM are included in the repository as precompiled binaries, and BlueM.Wave is included as a submodule.

Compilation

When compiling BlueM.Opt, a TeeChart .NET Pro license is required.

For testing purposes, you can use the evaluation version of TeeChart by removing the files My Project\TeeChart.licenses from the project within Visual Studio or by adding a files in their place. This will allow you to compile, but any charts will be displayed with a watermark.

Note:

BlueM.Wave is set up to be output to a subdirectory BlueM.Wave. For this to work, the following settings have been made:

  • set <probing privatePath="BlueM.Wave"/> in app.config
  • set the "Copy Local" property of all project references to Wave to False (corresponds to <Private>False</Private> in the project files).
  • the main Wave assembly output is copied to the subdirectory in the post-build event
  • additional assemblies used by Wave that are unfortunately automatically output to the main output folder (no idea why?) are moved to the subdirectory individually, also in the post-build event

This could probably be done better, but that's the way it is right now.

Documentation