Skip to content

Commit 95f463e

Browse files
committed
Update README.md
1 parent 02c4eea commit 95f463e

1 file changed

Lines changed: 55 additions & 47 deletions

File tree

README.md

Lines changed: 55 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
# SharePoint Sync Tool
22

3-
![.NET Framework](https://img.shields.io/badge/.NET%20Framework-4.8-blue)
3+
![.NET](https://img.shields.io/badge/.NET-8.0-blue)
44
![SharePoint CSOM](https://img.shields.io/badge/SharePoint%20CSOM-16.1-green)
55
![License](https://img.shields.io/badge/License-MIT-yellow.svg)
66

7-
A console application to synchronise SharePoint Online lists with a SQL Server database, including data quality routines for common list inconsistencies. Built with the SharePoint Client Side Object Model (CSOM) and .NET Framework 4.8.
7+
A console application to synchronise SharePoint Online lists with a SQL Server database, including data quality routines for common list inconsistencies. Built with the SharePoint Client Side Object Model (CSOM) and .NET 8.0.
88

99
---
1010

@@ -51,9 +51,8 @@ All settings (SharePoint credentials, SQL connection string) are stored in an XM
5151

5252
## Prerequisites
5353

54-
- Windows operating system (.NET Framework 4.8 target)
55-
- [.NET Framework 4.8](https://dotnet.microsoft.com/download/dotnet-framework/net48) or later
56-
- Visual Studio 2019 or 2022 (for building from source)
54+
- Windows operating system (.NET 8.0 target)
55+
- [.NET 8.0 SDK](https://dotnet.microsoft.com/download/dotnet/8.0) or later
5756
- Access to a SharePoint Online tenant with appropriate read/write permissions
5857
- SQL Server (any edition) with a database where target tables will be created/updated
5958
- VPN access if SharePoint or SQL Server is only reachable within a corporate network
@@ -67,25 +66,24 @@ All settings (SharePoint credentials, SQL connection string) are stored in an XM
6766
git clone https://github.com/your-org/sharepoint-sync-tool.git
6867
```
6968

70-
**2. Open the solution in Visual Studio**
71-
```
72-
ConsoleApp1.sln
69+
**2. Restore NuGet packages and build**
70+
```bash
71+
cd SPOtoSQL-Net8
72+
dotnet restore
73+
dotnet build ConsoleApp1Net8
7374
```
7475

75-
**3. Restore NuGet packages**
76-
77-
The main dependency is `Microsoft.SharePointOnline.CSOM` (v16.1). Visual Studio should restore it automatically. If not, run:
78-
```
79-
Update-Package -reinstall
76+
**3. (Optional) Run the application**
77+
```bash
78+
dotnet run --project ConsoleApp1Net8 -- [arguments]
8079
```
8180

82-
**4. Build the solution**
83-
84-
Go to *Build → Build Solution*. The executable will be placed in `bin\Debug` or `bin\Release`.
85-
86-
**5. (Optional) Deploy**
87-
88-
Copy the `bin\Release` folder to any Windows machine with .NET Framework 4.8 installed.
81+
**4. (Optional) Deploy**
82+
Publish the application for deployment:
83+
```bash
84+
dotnet publish ConsoleApp1Net8 -c Release -r win-x64 --self-contained false
85+
```
86+
The published output will be in `ConsoleApp1Net8/bin/Release/net8.0/win-x64/publish`.
8987

9088
---
9189

@@ -123,8 +121,13 @@ All runtime settings are defined in an XML file. The default location is `XmlCon
123121

124122
Run the executable from the command line:
125123

124+
```bash
125+
ConsoleApp1Net8.exe [arguments]
126126
```
127-
ConsoleApp1.exe [arguments]
127+
128+
Or via `dotnet run`:
129+
```bash
130+
dotnet run --project ConsoleApp1Net8 -- [arguments]
128131
```
129132

130133
### Arguments
@@ -141,13 +144,13 @@ ConsoleApp1.exe [arguments]
141144

142145
```bash
143146
# Daily sync with normal logging
144-
ConsoleApp1.exe daily
147+
ConsoleApp1Net8.exe daily
145148

146149
# Monthly sync with detailed logging and a custom config
147-
ConsoleApp1.exe monthly --verbose=2 --config="C:\Configs\custom.xml"
150+
ConsoleApp1Net8.exe monthly --verbose=2 --config="C:\Configs\custom.xml"
148151

149152
# Test SQL connection and exit
150-
ConsoleApp1.exe diagnostic
153+
ConsoleApp1Net8.exe diagnostic
151154
```
152155

153156
### What happens during execution?
@@ -164,28 +167,33 @@ ConsoleApp1.exe diagnostic
164167
## Project Structure
165168

166169
```
167-
ConsoleApp1/
168-
├── ConsoleApp1.csproj
169-
├── packages.config
170-
├── AssemblyInfo.cs
171-
├── ConsoleLogger/
172-
│ └── Logger.cs
173-
├── Sharepoint/
174-
│ ├── ActivitiesDQ.cs
175-
│ ├── Context.cs
176-
│ ├── GetallLists.cs
177-
│ ├── InvoiceRequestDQ.cs
178-
│ ├── SPOList.cs
179-
│ ├── SPOUser.cs
180-
│ └── TimesheetDQ.cs
181-
├── SPODataQuality/
182-
│ └── RefreshSPOLists.cs
183-
├── Sqlserver/
184-
│ ├── RefreshSQLLists.cs
185-
│ └── SQLInteraction.cs
186-
└── XmlConfig/
187-
├── ConfigHelper.cs
188-
└── UserConfig.xml
170+
SPOtoSQL-Net8/
171+
├── ConsoleApp1Net8/
172+
│ ├── ConsoleApp1Net8.csproj
173+
│ └── ... (source files linked from original location)
174+
SPOtoSQL-Snapshots/
175+
└── ConsoleApp1/
176+
├── ConsoleApp1.csproj (original .NET Framework 4.8 project)
177+
├── packages.config
178+
├── AssemblyInfo.cs
179+
├── ConsoleLogger/
180+
│ └── Logger.cs
181+
├── Sharepoint/
182+
│ ├── ActivitiesDQ.cs
183+
│ ├── Context.cs
184+
│ ├── GetallLists.cs
185+
│ ├── InvoiceRequestDQ.cs
186+
│ ├── SPOList.cs
187+
│ ├── SPOUser.cs
188+
│ └── TimesheetDQ.cs
189+
├── SPODataQuality/
190+
│ └── RefreshSPOLists.cs
191+
├── Sqlserver/
192+
│ ├── RefreshSQLLists.cs
193+
│ └── SQLInteraction.cs
194+
└── XmlConfig/
195+
├── ConfigHelper.cs
196+
└── UserConfig.xml
189197
```
190198

191199
| Component | Description |
@@ -215,4 +223,4 @@ If you encounter unexpected behaviour, run with `--verbose=3` for full debug out
215223

216224
## License
217225

218-
This project is licensed under the [MIT License](https://opensource.org/license/mit).
226+
This project is licensed under the [MIT License](https://opensource.org/license/mit).

0 commit comments

Comments
 (0)