Skip to content

Commit b2f462b

Browse files
authored
Merge pull request #1829 from shimat/remove_direct_net48
Remove net48 as a direct build target
2 parents 95f438e + 5e270e1 commit b2f462b

52 files changed

Lines changed: 171 additions & 488 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/copilot-instructions.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
## File encoding
2+
3+
All source files in this repository use **UTF-8 with BOM** (`EF BB BF`).
4+
5+
When creating or editing files, always save them as UTF-8 with BOM. This applies to `.cs`, `.csproj`, `.yml`, `.md`, `.json`, and all other text files.
6+
7+
Do **not** save files as UTF-8 without BOM, ANSI, or Shift-JIS — doing so will corrupt Japanese content and break Visual Studio / MSBuild tooling.
8+
9+
### Verification
10+
11+
```powershell
12+
# Check whether a file has UTF-8 BOM
13+
$b = [System.IO.File]::ReadAllBytes("path\to\file")
14+
$b[0] -eq 0xEF -and $b[1] -eq 0xBB -and $b[2] -eq 0xBF # should be True
15+
16+
# Convert a file to UTF-8 with BOM
17+
$enc = New-Object System.Text.UTF8Encoding $true
18+
$content = [System.IO.File]::ReadAllText("path\to\file", [System.Text.Encoding]::UTF8)
19+
[System.IO.File]::WriteAllText("path\to\file", $content, $enc)
20+
```

.github/workflows/windows.yml

Lines changed: 39 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Windows Server 2025
1+
name: Windows Server 2025
22

33
on:
44
pull_request:
@@ -16,32 +16,27 @@ jobs:
1616
build:
1717

1818
runs-on: windows-2025
19-
19+
2020
steps:
2121
- name: Checkout
2222
uses: actions/checkout@v6
2323
with:
2424
fetch-depth: 1
2525
submodules: true
2626

27-
# - name: Cache restored NuGet packages
28-
# uses: actions/cache@v5
29-
# with:
30-
# path: ${{ github.workspace }}/.nuget/packages
31-
# key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }}
32-
# restore-keys: |
33-
# ${{ runner.os }}-nuget-
27+
- name: Install .NET
28+
uses: actions/setup-dotnet@v5
29+
with:
30+
dotnet-version: |
31+
8.0.x
3432
3533
- name: Download OpenCV binaries
3634
shell: powershell
3735
env:
3836
GH_TOKEN: ${{ github.token }}
3937
run: |
40-
gh release download --repo shimat/opencv_files ${env:OPENCV_FILES_TAG} --pattern "opencv_win_x64.zip"
41-
gh release download --repo shimat/opencv_files ${env:OPENCV_FILES_TAG} --pattern "opencv_win_x86.zip"
38+
gh release download --repo shimat/opencv_files ${env:OPENCV_FILES_TAG} --pattern "opencv_win_x64.zip"
4239
Expand-Archive -Path opencv_win_x64.zip -DestinationPath opencv_files/opencv_win_x64 -Force -ErrorAction Stop
43-
Expand-Archive -Path opencv_win_x86.zip -DestinationPath opencv_files/opencv_win_x86 -Force -ErrorAction Stop
44-
ls opencv_files
4540
ls opencv_files/opencv_win_x64
4641
4742
- name: Download Tesseract binaries
@@ -51,7 +46,7 @@ jobs:
5146
run: |
5247
gh release download --repo shimat/tesseract_vcpkg ${TESSERACT_RELEASE_VERSION} --pattern "*.zip" --output tesseract.zip
5348
Expand-Archive -Path tesseract.zip -DestinationPath tesseract_files -Force -ErrorAction Stop
54-
ls tesseract_files
49+
ls tesseract_files
5550
Move-Item tesseract_files/tesseract_vcpkg.0.0.9-beta tesseract_files/tesseract_vcpkg
5651
ls tesseract_files/tesseract_vcpkg
5752
New-Item tesseract_files/tesseract_vcpkg -ItemType Directory -Force
@@ -60,8 +55,7 @@ jobs:
6055
6156
- name: NuGet restore
6257
shell: cmd
63-
run: |
64-
nuget restore
58+
run: nuget restore
6559

6660
# Commented out: FFmpeg backend is included in opencv_videoio_ffmpeg DLLs
6761
# If video tests fail, uncomment this step
@@ -77,11 +71,7 @@ jobs:
7771
shell: cmd
7872
run: msbuild OpenCvSharp.sln /t:build /p:configuration=Release /p:platform=x64 -maxcpucount
7973

80-
- name: Build x86
81-
shell: cmd
82-
run: msbuild OpenCvSharp.sln /t:build /p:configuration=Release /p:platform=x86 -maxcpucount
83-
84-
- name: Build slim native runtime (x64/x86)
74+
- name: Build slim native runtime
8575
shell: powershell
8676
run: |
8777
$ErrorActionPreference = "Stop"
@@ -92,101 +82,67 @@ jobs:
9282
$env:CL = "$slimDefines $env:CL"
9383
9484
# Keep slim outputs/intermediates separate from the full Release build artifacts.
95-
# This avoids reusing non-slim object files from earlier steps.
96-
$slimOutX64 = Join-Path $env:GITHUB_WORKSPACE "src/ReleaseSlim/x64/"
97-
$slimOutX86 = Join-Path $env:GITHUB_WORKSPACE "src/ReleaseSlim/Win32/"
98-
$slimIntX64 = Join-Path $env:GITHUB_WORKSPACE "src/ReleaseSlim/obj/x64/"
99-
$slimIntX86 = Join-Path $env:GITHUB_WORKSPACE "src/ReleaseSlim/obj/Win32/"
100-
New-Item -Path $slimOutX64 -ItemType Directory -Force | Out-Null
101-
New-Item -Path $slimOutX86 -ItemType Directory -Force | Out-Null
102-
New-Item -Path $slimIntX64 -ItemType Directory -Force | Out-Null
103-
New-Item -Path $slimIntX86 -ItemType Directory -Force | Out-Null
104-
105-
# Rebuild forces recompilation with the slim defines for deterministic slim binaries.
106-
msbuild src/OpenCvSharpExtern/OpenCvSharpExtern.vcxproj `
107-
/t:Rebuild `
108-
/p:Configuration=Release `
109-
/p:Platform=x64 `
110-
/p:SolutionDir="${env:GITHUB_WORKSPACE}\\" `
111-
/p:OutDir="$slimOutX64" `
112-
/p:IntDir="$slimIntX64" `
113-
/p:PostBuildEventUseInBuild=false `
114-
/p:RunPostBuildEvent=Never `
115-
-maxcpucount
85+
$slimOut = Join-Path $env:GITHUB_WORKSPACE "src/ReleaseSlim/x64/"
86+
$slimInt = Join-Path $env:GITHUB_WORKSPACE "src/ReleaseSlim/obj/x64/"
87+
New-Item -Path $slimOut -ItemType Directory -Force | Out-Null
88+
New-Item -Path $slimInt -ItemType Directory -Force | Out-Null
11689
11790
msbuild src/OpenCvSharpExtern/OpenCvSharpExtern.vcxproj `
11891
/t:Rebuild `
11992
/p:Configuration=Release `
120-
/p:Platform=Win32 `
93+
/p:Platform=x64 `
12194
/p:SolutionDir="${env:GITHUB_WORKSPACE}\\" `
122-
/p:OutDir="$slimOutX86" `
123-
/p:IntDir="$slimIntX86" `
95+
/p:OutDir="$slimOut" `
96+
/p:IntDir="$slimInt" `
12497
/p:PostBuildEventUseInBuild=false `
12598
/p:RunPostBuildEvent=Never `
12699
-maxcpucount
127100
128-
$x64Dll = Get-ChildItem "$slimOutX64" -Recurse -Filter OpenCvSharpExtern.dll | Select-Object -First 1
129-
$x86Dll = Get-ChildItem "$slimOutX86" -Recurse -Filter OpenCvSharpExtern.dll | Select-Object -First 1
130-
if (-not $x64Dll -or -not $x86Dll) {
131-
throw "Failed to locate slim OpenCvSharpExtern.dll outputs"
132-
}
133-
134-
Copy-Item $x64Dll.FullName "src/Release/x64/OpenCvSharpExtern.Slim.dll" -Force
135-
Copy-Item $x86Dll.FullName "src/Release/Win32/OpenCvSharpExtern.Slim.dll" -Force
101+
$slimDll = Get-ChildItem "$slimOut" -Recurse -Filter OpenCvSharpExtern.dll | Select-Object -First 1
102+
if (-not $slimDll) { throw "Failed to locate slim OpenCvSharpExtern.dll" }
103+
Copy-Item $slimDll.FullName "src/Release/x64/OpenCvSharpExtern.Slim.dll" -Force
136104
137-
#- name: Build ARM
138-
# shell: cmd
139-
# run: msbuild OpenCvSharp.sln /t:build /p:configuration=Release /p:platform=ARM -maxcpucount
105+
- name: Test
106+
shell: cmd
107+
run: dotnet test test\OpenCvSharp.Tests -c Release -f net8.0 --runtime win-x64
140108

141-
- name: Install .NET
142-
uses: actions/setup-dotnet@v5
143-
with:
144-
dotnet-version: |
145-
8.0.x
109+
- name: Test Windows-only functions
110+
shell: powershell
111+
run: |
112+
cd ${env:GITHUB_WORKSPACE}\test\OpenCvSharp.Tests.Windows
113+
dotnet test -c Release -f net8.0-windows --runtime win-x64
146114
147-
- name: Build
148-
shell: cmd
115+
- name: Test Windows-only functions (net48)
116+
shell: powershell
149117
run: |
150-
dotnet build src/OpenCvSharp.Extensions/OpenCvSharp.Extensions.csproj -f net8.0 -p:configuration=Release -maxcpucount
151-
dotnet build src/OpenCvSharp.WpfExtensions/OpenCvSharp.WpfExtensions.csproj -f net8.0-windows -p:configuration=Release -maxcpucount
118+
cd ${env:GITHUB_WORKSPACE}\test\OpenCvSharp.Tests.Windows
119+
dotnet test -c Release -f net48 --runtime win-x64
152120
153121
- name: Pack NuGet packages
154122
shell: powershell
155123
run: |
156124
$ErrorActionPreference = "Stop"
157-
125+
158126
$date = Get-Date -Format "yyyyMMdd"
159127
$version = "${env:OPENCV_VERSION}.${date}-beta"
160128
Write-Host "version = ${version}"
161129
162-
# Pack main libraries
130+
# Pack main libraries (dotnet pack triggers build implicitly)
163131
dotnet pack src/OpenCvSharp/OpenCvSharp.csproj -c Release -o artifacts -p:Version=$version
164132
dotnet pack src/OpenCvSharp.Extensions/OpenCvSharp.Extensions.csproj -c Release -o artifacts -p:Version=$version
165133
dotnet pack src/OpenCvSharp.WpfExtensions/OpenCvSharp.WpfExtensions.csproj -c Release -o artifacts -p:Version=$version
166-
134+
167135
# Pack runtime packages
168136
dotnet pack nuget/OpenCvSharp4.runtime.win.csproj -o artifacts -p:Version=$version
169137
dotnet pack nuget/OpenCvSharp4.runtime.win.slim.csproj -o artifacts -p:Version=$version
170-
138+
171139
# Add local artifacts as NuGet source for meta-package
172140
dotnet nuget add source "${env:GITHUB_WORKSPACE}\artifacts" --name LocalPackages
173-
141+
174142
# Pack meta-package (depends on packages built above)
175143
dotnet pack nuget/OpenCvSharp4.Windows.csproj -o artifacts -p:Version=$version -p:PackageVersion=$version
176144
dotnet pack nuget/OpenCvSharp4.Windows.Slim.csproj -o artifacts -p:Version=$version -p:PackageVersion=$version
177145
178-
- name: Test
179-
shell: powershell
180-
run: |
181-
cd ${env:GITHUB_WORKSPACE}\test\OpenCvSharp.Tests
182-
dotnet test -c Release -f net48 --runtime win-x64
183-
184-
- name: Test Windows-only functions
185-
shell: powershell
186-
run: |
187-
cd ${env:GITHUB_WORKSPACE}\test\OpenCvSharp.Tests.Windows
188-
dotnet test -c Release -f net48 --runtime win-x64
189-
190146
- name: Run ReleaseMaker
191147
shell: powershell
192148
run: |
@@ -197,4 +153,4 @@ jobs:
197153
uses: actions/upload-artifact@v6
198154
with:
199155
name: packages_windows
200-
path: ${{ github.workspace }}\artifacts
156+
path: ${{ github.workspace }}\artifacts

.vscode/settings.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"dotnet.preferCSharpExtension": true
3+
}

README.md

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
![opencvsharp](https://socialify.git.ci/shimat/opencvsharp/image?description=1&forks=1&language=1&owner=1&pattern=Plus&stargazers=1&theme=Light)
1+
![opencvsharp](https://socialify.git.ci/shimat/opencvsharp/image?description=1&forks=1&language=1&owner=1&pattern=Plus&stargazers=1&theme=Light)
22

33
[![Github Actions Windows Status](https://github.com/shimat/opencvsharp/workflows/Windows%20Server%202025/badge.svg)](https://github.com/shimat/opencvsharp/actions) [![Github Actions Ubuntu 22.04 Status](https://github.com/shimat/opencvsharp/workflows/Ubuntu%2022.04/badge.svg)](https://github.com/shimat/opencvsharp/actions) [![Github Actions Ubuntu 24.04 Status](https://github.com/shimat/opencvsharp/workflows/Ubuntu%2024.04/badge.svg)](https://github.com/shimat/opencvsharp/actions) [![GitHub license](https://img.shields.io/github/license/shimat/opencvsharp.svg)](https://github.com/shimat/opencvsharp/blob/master/LICENSE)
44

5-
OpenCvSharp is a cross-platform .NET wrapper for OpenCV, providing a rich set of image processing and computer vision functionality. It supports .NET Framework 4.8, .NET 8 and later, and .NET Standard 2.0.
5+
OpenCvSharp is a cross-platform .NET wrapper for OpenCV, providing a rich set of image processing and computer vision functionality. It targets .NET Standard 2.0, .NET Standard 2.1, and .NET 8.0 or later. .NET Framework 4.6.1 and later is also supported via the .NET Standard 2.0 target (note: WpfExtensions additionally provides a direct .NET Framework 4.8 target).
66

77
## Quick Start
88

@@ -31,7 +31,8 @@ For more installation options, see the [Installation](#installation) section bel
3131
* [OpenCV 4.13.0](https://opencv.org/) with [opencv_contrib](https://github.com/opencv/opencv_contrib)
3232

3333
## Requirements
34-
* [.NET Framework 4.8](http://www.microsoft.com/ja-jp/download/details.aspx?id=1639) / [.NET 8](https://www.microsoft.com/net/download) or later / .NET Standard 2.0
34+
* [.NET 8](https://www.microsoft.com/net/download) or later / .NET Standard 2.0 / .NET Standard 2.1
35+
* .NET Framework 4.6.1 or later is supported via the .NET Standard 2.0 target (WpfExtensions also directly targets .NET Framework 4.8)
3536
* (Windows) [Visual C++ 2022 Redistributable Package](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads)
3637
* (Windows Server) Media Foundation
3738
```
@@ -164,8 +165,8 @@ http://shimat.github.io/opencvsharp/api/OpenCvSharp.html
164165

165166
| Package | Description |
166167
|---------|-------------|
167-
|**[OpenCvSharp4.runtime.win](https://www.nuget.org/packages/OpenCvSharp4.runtime.win/)**| Native bindings for Windows x64/x86 (except UWP) |
168-
|**[OpenCvSharp4.runtime.win.slim](https://www.nuget.org/packages/OpenCvSharp4.runtime.win.slim/)**| Slim native bindings for Windows x64/x86 (except UWP), with `core,imgproc,imgcodecs,calib3d,features2d,flann,objdetect,photo` enabled |
168+
|**[OpenCvSharp4.runtime.win](https://www.nuget.org/packages/OpenCvSharp4.runtime.win/)**| Native bindings for Windows x64 (except UWP) |
169+
|**[OpenCvSharp4.runtime.win.slim](https://www.nuget.org/packages/OpenCvSharp4.runtime.win.slim/)**| Slim native bindings for Windows x64 (except UWP), with `core,imgproc,imgcodecs,calib3d,features2d,flann,objdetect,photo` enabled |
169170
|**[OpenCvSharp4.runtime.uwp](https://www.nuget.org/packages/OpenCvSharp4.runtime.uwp/)**| Native bindings for UWP (Universal Windows Platform) x64/x86/ARM |
170171
|**[OpenCvSharp4.official.runtime.linux-x64](https://www.nuget.org/packages/OpenCvSharp4.official.runtime.linux-x64/)**| Native bindings for Linux x64 (portable RID, recommended) |
171172
|**[OpenCvSharp4.official.runtime.linux-x64.slim](https://www.nuget.org/packages/OpenCvSharp4.official.runtime.linux-x64.slim/)**| Slim native bindings for Linux x64 (portable RID), with `core,imgproc,imgcodecs,calib3d,features2d,flann,objdetect,photo` enabled |
@@ -176,6 +177,10 @@ http://shimat.github.io/opencvsharp/api/OpenCvSharp.html
176177
|**[OpenCvSharp4.runtime.linux-arm](https://www.nuget.org/packages/OpenCvSharp4.runtime.linux-arm/)**| Native bindings for Linux Arm |
177178
|**[OpenCvSharp4.runtime.wasm](https://www.nuget.org/packages/OpenCvSharp4.runtime.wasm/)**| Native bindings for WebAssembly |
178179

180+
> **Note:** Windows x86 (32-bit) support has been dropped as of the OpenCV 4.13.0 release series.
181+
> The `OpenCvSharp4.runtime.win` and `OpenCvSharp4.runtime.win.slim` packages now ship **x64-only** native binaries.
182+
> Users requiring x86 Windows support should stay on the last OpenCV 4.12.x-based packages.
183+
179184
Native binding (OpenCvSharpExtern.dll / libOpenCvSharpExtern.so) is required for OpenCvSharp to work. To use OpenCvSharp, you should add both `OpenCvSharp4` and `OpenCvSharp4.runtime.*` packages to your project. Currently, native bindings for Windows, UWP, Ubuntu, Linux ARM, and WebAssembly are available.
180185

181186
Packages named OpenCvSharp3-* and OpenCvSharp-* are deprecated.

nuget/OpenCvSharp4.Windows.Slim.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
<Project Sdk="Microsoft.NET.Sdk">
1+
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
33
<TargetFrameworks>net48;netstandard2.0;netstandard2.1;net8.0;</TargetFrameworks>
44
<NoBuild>true</NoBuild>
55
<IncludeBuildOutput>false</IncludeBuildOutput>
66

77
<PackageId>OpenCvSharp4.Windows.Slim</PackageId>
8-
<Title>OpenCvSharp NuGet package for x64/x86 Windows (Slim)</Title>
8+
<Title>OpenCvSharp NuGet package for x64 Windows (Slim)</Title>
99
<Authors>shimat</Authors>
1010
<PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
1111
<PackageProjectUrl>https://github.com/shimat/opencvsharp</PackageProjectUrl>

nuget/OpenCvSharp4.Windows.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
<Project Sdk="Microsoft.NET.Sdk">
1+
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
33
<TargetFrameworks>net48;netstandard2.0;netstandard2.1;net8.0;</TargetFrameworks>
44
<NoBuild>true</NoBuild>
55
<IncludeBuildOutput>false</IncludeBuildOutput>
66

77
<!-- NuGet Package Metadata -->
88
<PackageId>OpenCvSharp4.Windows</PackageId>
9-
<Title>OpenCvSharp NuGet package for x64/x86 Windows (same as OpenCvSharp3-AnyCPU)</Title>
9+
<Title>OpenCvSharp NuGet package for x64 Windows (same as OpenCvSharp3-AnyCPU)</Title>
1010
<Authors>shimat</Authors>
1111
<PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
1212
<PackageProjectUrl>https://github.com/shimat/opencvsharp</PackageProjectUrl>

nuget/OpenCvSharp4.runtime.win.csproj

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
<Project Sdk="Microsoft.NET.Sdk">
1+
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFrameworks>net48;netstandard2.0;netstandard2.1;net8.0;</TargetFrameworks>
3+
<TargetFrameworks>netstandard2.0;netstandard2.1;net8.0;</TargetFrameworks>
44
<NoBuild>true</NoBuild>
55
<IncludeBuildOutput>false</IncludeBuildOutput>
66

77
<!-- NuGet Package Metadata -->
88
<PackageId>OpenCvSharp4.runtime.win</PackageId>
9-
<Title>OpenCvSharp4 native bindings for Windows x64/x86 (except UWP)</Title>
9+
<Title>OpenCvSharp4 native bindings for Windows x64 (except UWP)</Title>
1010
<Authors>shimat</Authors>
1111
<PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
1212
<PackageProjectUrl>https://github.com/shimat/opencvsharp</PackageProjectUrl>
@@ -22,10 +22,7 @@
2222

2323
<ItemGroup>
2424
<None Include="..\src\Release\x64\OpenCvSharpExtern.dll" Pack="true" PackagePath="runtimes/win-x64/native" />
25-
<None Include="..\src\Release\Win32\OpenCvSharpExtern.dll" Pack="true" PackagePath="runtimes/win-x86/native" />
2625
<None Include="..\opencv_files\opencv_win_x64\x64\vc17\bin\opencv_videoio_ffmpeg4130_64.dll" Pack="true" PackagePath="runtimes/win-x64/native" />
27-
<None Include="..\opencv_files\opencv_win_x86\x86\vc17\bin\opencv_videoio_ffmpeg4130.dll" Pack="true" PackagePath="runtimes/win-x86/native" />
28-
<None Include="OpenCvSharp4.runtime.win.props" Pack="true" PackagePath="build/net48" />
2926
<None Include="OpenCvSharp4.runtime.win.props" Pack="true" PackagePath="build/netstandard" />
3027
<None Include="OpenCvSharp4.runtime.win.props" Pack="true" PackagePath="build/netcoreapp" />
3128
<None Include="OpenCvSharp4.runtime.win.props" Pack="true" PackagePath="build/net8.0" />

nuget/OpenCvSharp4.runtime.win.props

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,6 @@
33
<OpenCvSharp4ExternalNativeDlls>$(MSBuildThisFileDirectory)..\..\runtimes</OpenCvSharp4ExternalNativeDlls>
44
</PropertyGroup>
55
<ItemGroup Condition="$(TargetFrameworkVersion.StartsWith('v4')) Or $(TargetFramework.StartsWith('net4'))">
6-
<Content Include="$(OpenCvSharp4ExternalNativeDlls)\win-x86\native\OpenCvSharpExtern.dll">
7-
<Link>dll\x86\OpenCvSharpExtern.dll</Link>
8-
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
9-
</Content>
10-
<Content Include="$(OpenCvSharp4ExternalNativeDlls)\win-x86\native\opencv_videoio_ffmpeg4130.dll">
11-
<Link>dll\x86\opencv_videoio_ffmpeg4130.dll</Link>
12-
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
13-
</Content>
146
<Content Include="$(OpenCvSharp4ExternalNativeDlls)\win-x64\native\OpenCvSharpExtern.dll">
157
<Link>dll\x64\OpenCvSharpExtern.dll</Link>
168
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>

0 commit comments

Comments
 (0)