Skip to content

Commit c82339e

Browse files
committed
COH-31076 Update README.md to reflect switch to .NET 6
[git-p4: depot-paths = "//dev/main.net/": change = 112128]
1 parent 0cb55ef commit c82339e

File tree

1 file changed

+46
-95
lines changed

1 file changed

+46
-95
lines changed

README.md

Lines changed: 46 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ distributed applications.
5353

5454
## <a name="acquire"></a>How to Get Coherence Community Edition
5555

56-
For more details on how to obtain and use Coherence, please see the Coherence CE [README](https://github.com/oracle/coherence/tree/master/README.md).
56+
For more details on how to obtain and use Coherence, please see the Coherence CE [README](https://github.com/oracle/coherence/tree/main/README.md).
5757

5858
## Getting Started
5959

@@ -67,90 +67,45 @@ See the [documentation](#documentation) for details on building Coherence applic
6767

6868
### Prerequisites and Dependencies
6969

70-
1. Microsoft .NET 4.0 or higher runtime and SDK
71-
2. Supported Microsoft Windows operating system (see the systemrequirements for the appropriate .NET runtime above)
72-
3. Microsoft Visual Studio 2010+, or Visual Studio Code with the NET plugin installed is required to build
70+
1. Microsoft .NET 6.0 or higher runtime and SDK
71+
2. Microsoft Visual Studio 2022+, or Visual Studio Code with the NET plugin installed is required to build
7372

74-
The Coherence for .NET also depends on the following libraries and software:
75-
1. [Common.Logging, 2.0.0.0](#commonlogging)
76-
1. [MSBuild.Extension.Pack, 1.9.1](#msbuildex)
77-
1. [Sandcastle Help File Builder and Tools, 2019.11.17](#shfb)
78-
1. [Microsoft Build Tools 2015](#msbuildtools)
79-
80-
#### <a name="commonlogging"></a>Common.Logging 2.0.0.0
81-
<a name="intro"></a>
82-
Download and install Common.Logging 2.0.0.0 (`https://www.nuget.org/packages/Common.Logging/2.0.0`) or later. Copy Common.Logging.2.0.0\lib\2.0 to lib\net\2.0.
83-
84-
#### <a name="msbuildex"></a>MSBuild.Extension.Pack.1.9.1
85-
Download and install MSBuild.Extension.Pack, 1.9.1 (`https://www.nuget.org/packages/MSbuild.Extension.Pack/1.9.0`). Copy MSBuild.Extension.Pack.1.9.1 to tools\internal\msbuild.
86-
87-
#### <a name="shfb"></a>Sandcastle Help File Builder and Tools, 2019.11.17
88-
Coherence uses Sandcastle Help File Builder and Tools to build the Coherence .NET documentation. Down load and install Sandcastle Help File Builder and Tools, 2019.11.17 (`https://github.com/EWSoftware/SHFB/releases`). Then copy the "Sandcastle Help File Builder" directory
89-
to tools\internal\shfb.
90-
91-
#### <a name="msbuildtools"></a>Microsoft Build Tools 2015
92-
Sandcastle Help File Builder and Tools requires Microsoft Build Tools 2015. You can down load Microsoft Build Tools 2015(`https://www.microsoft.com/en-us/download/details.aspx?id=48159`)or later and install it if you don't have it already.
73+
The Coherence for .NET also depends on [docfx](https://dotnet.github.io/docfx/) to build documentation.
9374

9475
The following additional dependencies are required for testing:
95-
1. [NUnit 2 releases, 2.6.2](#nunit)
96-
1. [NUnit.Runners, 2.6.2](#nunitrunners)
97-
1. [Ant, 1.7.0](#ant)
98-
1. Java 1.8 or later
99-
1. [WinHttpCertCfg.exe](#httpcerts)
100-
101-
#### <a name="nunit"></a>NUnit 2.6.2
102-
Download and install NUnit, 2.6.2 (`https://nunit.org/download/#olderReleases`) or later. Copy NUnit.2.6.2 to tools\internal\nunit
103-
104-
#### <a name="nunitrunners"></a>NUnit.Runners, 2.6.2
105-
Download and install NUnit.Runners, 2.6.2 (`https://www.nuget.org/packages/NUnit.Runners/2.6.2`) or later. Copy NUnit.Runners.2.6.2 to tools\internal\NUnit.Runners
76+
1. Java 17 or later
10677

107-
#### <a name="ant"></a>Ant
108-
Download and install Ant, 1.7.0 or later. Then copy it to under tools\internal\ant.
78+
To build Coherence for .NET, you must run the dotnet build utility, passing in the desired target that you would like to execute.
79+
Using .NET 6, the output from the build is located in the `src/<project>/bin/<Debug|Release>/net6.0` subdirectory.
80+
Using .NET 8, the output from the build is located in the `src/<project>/bin/<Debug|Release>/net8.0` subdirectory.
10981

110-
#### <a name="httpcerts"></a>WinHttpCertCfg.exe
111-
Download and install WinHttpCertCfg.exe ('https://www.microsoft.com/en-us/download/details.aspx?id=19801`). Then copy it to tools\internal\resourcekit.
82+
To build Coherence clone this repository and run the following commands:
11283

113-
You can use NuGet Package Manager through Visual Studio or Develooper Command Prompt to download most of the dependency libraries and software.
114-
115-
If C:\coherence-net is your project root directory, it should contain the following directories
116-
117-
- C:\coherence-net\lib\net\2.0
118-
- C:\coherence-net\tools\cluster-control
119-
- C:\coherence-net\tools\internal\ant
120-
- C:\coherence-net\tools\internal\cluster-control
121-
- C:\coherence-net\tools\internal\msbuild
122-
- C:\coherence-net\tools\internal\msbuild-custom
123-
- C:\coherence-net\tools\internal\nunit
124-
- C:\coherence-net\tools\internal\nunit.runners
125-
- C:\coherence-net\tools\internal\resourcekit
126-
- C:\coherence-net\tools\internal\shfb
127-
- C:\coherence-net\tools\msbuild-custom
128-
129-
The Coherence for .NET build system is based upon msbuild. To build Coherence for .NET, you must run the msbuild build utility, passing in the desired target that you would like to execute.
130-
The output from the build are in the build subdirectory.
131-
132-
To build Coherence for .NET, start a "Developer Command Prompt for VS" 2017 or 2019.
133-
Clone this repository and run the following command:
134-
```
135-
set JAVA_HOME=<Java Home Path>
84+
For debug build run:
13685
```
86+
dotnet build
13787
```
138-
bin\cfgbuild.cmd
139-
```
88+
The resulting files:
89+
90+
`src/Coherence/bin/Debug/net6.0/Coherence.dll`
91+
`src/Coherence.SessionStore/bin/Debug/net6.0/Coherence.SessionStore.dll`
92+
93+
For release build run:
14094
```
141-
msbuild /t:build Coherence.msbuild
95+
dotnet build --configuration Release
14296
```
14397
The resulting files:
14498

145-
`build\Coherence.2010\Debug` - debug build
99+
`src/Coherence/bin/Release/net6.0/Coherence.dll`
100+
`src/Coherence.SessionStore/bin/Release/net6.0/Coherence.SessionStore.dll`
146101

147-
`build\Coherence.2010\Release` - release build
102+
`src/Coherence/bin/Release/Coherence.14.1.2.nupkg` - nuget package
148103

149104
To clean all build artifacts from your build system, run the following
150105
command:
151106

152107
```
153-
msbuild /t:clean Coherence.msbuild
108+
dotnet clean
154109
```
155110

156111
## <a name="started"></a>CLI Hello Coherence Example
@@ -159,7 +114,7 @@ The following example illustrates starting a storage enabled Coherence server, f
159114
### Build HelloCoherence
160115
1. Using dotnet-cli to create a HelloCoherence console application:
161116
```
162-
dotnet new console -name "HelloCoherence"
117+
dotnet new console --name "HelloCoherence"
163118
```
164119
1. Add the following references to the HelloCoherence.csproj (provide the Coherence.dll location in the `<HintPath>`):
165120
```
@@ -168,18 +123,20 @@ dotnet new console -name "HelloCoherence"
168123
<HintPath>Coherence.dll</HintPath>
169124
</Reference>
170125
<PackageReference Include="Common.Logging" Version="3.4.1" />
171-
<PackageReference Include="System.Configuration.ConfigurationManager" Version="4.7.0" />
126+
<PackageReference Include="Microsoft.Extensions.Configuration" Version="6.0.0" />
127+
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="6.0.0" />
128+
<PackageReference Include="System.Configuration.ConfigurationManager" Version="6.0.1" />
172129
</ItemGroup>
173130
```
174131
Also include any Coherence configuration files you may have.
175132

176133
1. Replace Program.cs code with the following source:
177134
```
178135
/*
179-
* Copyright (c) 2000, 2022, Oracle and/or its affiliates.
136+
* Copyright (c) 2000, 2024, Oracle and/or its affiliates.
180137
*
181138
* Licensed under the Universal Permissive License v 1.0 as shown at
182-
* http://oss.oracle.com/licenses/upl.
139+
* https://oss.oracle.com/licenses/upl.
183140
*/
184141
using System;
185142
using Tangosol.Net;
@@ -319,7 +276,7 @@ By default, you need to provide a POF configure file, pof-config.xml, in the Tar
319276
Copyright (c) 2000, 2020, Oracle and/or its affiliates.
320277
321278
Licensed under the Universal Permissive License v 1.0 as shown at
322-
http://oss.oracle.com/licenses/upl.
279+
https://oss.oracle.com/licenses/upl.
323280
-->
324281
<pof-config xmlns="http://schemas.tangosol.com/pof">
325282
<user-type-list>
@@ -364,19 +321,19 @@ Map (?): cache welcomes
364321
Map (welcomes): get english
365322
NULL
366323
367-
Map (welcomes): put english Hello
324+
Map (welcomes): put english hello
368325
369-
Map (welcomes): put spanish Hola
326+
Map (welcomes): put spanish hola
370327
371-
Map (welcomes): put french Bonjour
328+
Map (welcomes): put french bonjour
372329
373330
Map (welcomes): get english
374331
Hello
375332
376333
Map (welcomes): list
377-
french = Bonjour
378-
english = Hello
379-
spanish = Hola
334+
french = bonjour
335+
english = hello
336+
spanish = hola
380337
381338
Map (welcomes): bye
382339
```
@@ -399,43 +356,37 @@ The following are the available cache operations:
399356
Map (?): cache welcomes
400357
401358
Map (welcomes): list
402-
french = Bonjour
403-
english = Hello
404-
spanish = Hola
359+
french = bonjour
360+
english = hello
361+
spanish = hola
405362
406363
Map (welcomes): bye
407364
```
408365

409366
### <a name="testing"></a>Testing
410367

411-
To run Coherence for .NET test suite, you must have a coherence.jar. Using ant, you can provide a build.properties file in the tools\ant directory to specify a maven repository from which coherence.jar can be downloaded.
412-
The test suite starts a Coherence server for the .NET clients to connect to run the tests.
368+
To run Coherence for .NET test suite, first you must run a Coherence server. Go to tests/test-server folder and start server:
413369

414370
```
415-
msbuild /t:test Coherence.msbuild
371+
cd tests/test-server
372+
mvn clean package -Dcoherence.groupid=com.oracle.coherence.ce -Drevision=24.09 && mvn exec:exec -Dcoherence.groupid=com.oracle.coherence.ce -Drevision=24.09 -Dmain=com.tangosol.net.Coherence
416373
```
417374

418-
To run Coherence for .NET test suite starting a Coherence server in docker container, use the following commaond:
375+
To run the test suite (excluding ASP.NET session tests that require the commercial edition of Coherence), use the following command:
419376

420377
```
421-
msbuild /t:test Coherence.docker
378+
dotnet test --filter FullyQualifiedName\!~Tangosol.Web
422379
```
423380

424381
## Documentation
425382

426383
To build Coherence for .NET API documentation, run the following command. The API documentation can be viewed using Microsoft help viewer.
427384
```
428-
msbuild /t:doc Coherence.msbuild
429-
```
430-
To build Coherence for .NET installable package, use the following command. The command produces a Coherence.msi in the build directory that can be used to install Coherence for .NET.
431-
```
432-
msbuild /t:dist Coherence.msbuild
385+
cd doc
386+
docfx docfx.json
433387
```
434-
The resulting files:
435-
436-
`dist\14.1.2.0b0` - Coherence MSI installer
437388

438-
For further details on developing Coherence for .NET applications, see the documentation [here](https://docs.oracle.com/en/middleware/standalone/coherence/14.1.1.0/develop-remote-clients/creating-net-extend-clients.html).
389+
For further details on developing Coherence for .NET applications, see the documentation [here](https://docs.oracle.com/en/middleware/standalone/coherence/14.1.2.0/develop-remote-clients/creating-net-extend-clients.html).
439390

440391
## Contributing
441392

0 commit comments

Comments
 (0)