diff --git a/Windows/CS/Framework4.0/Toprie/Toprie/Properties/AssemblyInfo.cs b/Windows/CS/Framework4.0/Toprie/Toprie/Properties/AssemblyInfo.cs
index 2756780..5aa5f70 100644
--- a/Windows/CS/Framework4.0/Toprie/Toprie/Properties/AssemblyInfo.cs
+++ b/Windows/CS/Framework4.0/Toprie/Toprie/Properties/AssemblyInfo.cs
@@ -32,7 +32,7 @@ using System.Runtime.InteropServices;
// 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号
//通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+[assembly: AssemblyVersion("1.0.0.1")]
+[assembly: AssemblyFileVersion("1.0.0.1")]
// NuGet包相关信息已在项目文件中配置
diff --git a/Windows/CS/Framework4.0/Toprie/publish-nuget.ps1 b/Windows/CS/Framework4.0/Toprie/publish-nuget.ps1
index afc9ce9..34dd2b7 100644
--- a/Windows/CS/Framework4.0/Toprie/publish-nuget.ps1
+++ b/Windows/CS/Framework4.0/Toprie/publish-nuget.ps1
@@ -1,16 +1,37 @@
# 托普瑞控制库发布脚本 请在 chcp 65001下运行
# 配置参数 - 基本设置
-$scriptDir = Get-Location
+# 使用PSScriptRoot获取脚本所在目录
+$scriptDir = $PSScriptRoot
$output = Join-Path $scriptDir "Output"
$server = "http://47.111.181.23:8081/repository/nuget-releases/"
$key = "admin:admin"
$actualDllName = "JoyD.Windows.CS.Toprie.dll"
$targetDllName = "Toprie.dll"
+# 从AssemblyInfo.cs获取版本号
+$assemblyInfoPath = "$scriptDir\Toprie\Properties\AssemblyInfo.cs"
+Write-Host "正在从 $assemblyInfoPath 获取版本号..."
+
+if (-Not (Test-Path $assemblyInfoPath)) {
+ Write-Host "错误: 找不到AssemblyInfo.cs文件!" -ForegroundColor Red
+ exit 1
+}
+
+# 读取文件内容并提取AssemblyFileVersion
+$assemblyInfoContent = Get-Content $assemblyInfoPath -Raw
+$versionMatch = [regex]::Match($assemblyInfoContent, '\[assembly: AssemblyFileVersion\("([\d\.]+)"\)\]')
+
+if (-Not $versionMatch.Success) {
+ Write-Host "错误: 无法从AssemblyInfo.cs中提取版本号!" -ForegroundColor Red
+ exit 1
+}
+
+$version = $versionMatch.Groups[1].Value
+Write-Host "成功获取版本号: $version" -ForegroundColor Green
+
# NuGet包元数据配置 - 在此处修改所有元数据
$packageId = "com.joyd.toprie"
-$version = "1.0.0.0"
$title = "托普瑞热像仪控制库"
$authors = "曾庆明"
$owners = "JoyD Technology"
@@ -38,17 +59,27 @@ if (!(Test-Path $output)) {
Write-Host "使用现有输出目录: $output"
}
+# 定义pdb和xml文件名称
+$actualPdbName = $actualDllName -replace "\.dll$", ".pdb"
+$actualXmlName = $actualDllName -replace "\.dll$", ".xml"
+$targetPdbName = $targetDllName -replace "\.dll$", ".pdb"
+$targetXmlName = $targetDllName -replace "\.dll$", ".xml"
+
# 清理之前的构建文件
Write-Host "清理之前的构建文件.."
if (Test-Path "$output\$actualDllName") { Remove-Item -Path "$output\$actualDllName" -Force }
+if (Test-Path "$output\$actualPdbName") { Remove-Item -Path "$output\$actualPdbName" -Force }
+if (Test-Path "$output\$actualXmlName") { Remove-Item -Path "$output\$actualXmlName" -Force }
if (Test-Path "$output\$targetDllName") { Remove-Item -Path "$output\$targetDllName" -Force }
+if (Test-Path "$output\$targetPdbName") { Remove-Item -Path "$output\$targetPdbName" -Force }
+if (Test-Path "$output\$targetXmlName") { Remove-Item -Path "$output\$targetXmlName" -Force }
if (Test-Path "$output\$nupkgFileName") { Remove-Item -Path "$output\$nupkgFileName" -Force }
if (Test-Path "$output\$packageId.nuspec") { Remove-Item -Path "$output\$packageId.nuspec" -Force }
-# 构建项目
+# 构建项目(确保生成pdb和xml文件)
Write-Host "1. 正在构建项目..."
Write-Host "当前目录: $scriptDir"
-dotnet build "$scriptDir\Toprie\Toprie.csproj" -c Release -o "$output"
+dotnet build "$scriptDir\Toprie\Toprie.csproj" -c Release -o "$output" /p:DebugSymbols=true /p:DebugType=full /p:DocumentationFile=true
if ($LASTEXITCODE -ne 0) {
Write-Host "错误: 构建失败!" -ForegroundColor Red
@@ -65,6 +96,17 @@ if (!(Test-Path "$output\$actualDllName")) {
Copy-Item -Path "$output\$actualDllName" -Destination "$output\$targetDllName" -Force
Write-Host "已将 $actualDllName 复制并重命名为$targetDllName 用于打包"
+# 复制PDB和XML文件并重命名用于打包
+if (Test-Path "$output\$actualPdbName") {
+ Copy-Item -Path "$output\$actualPdbName" -Destination "$output\$targetPdbName" -Force
+ Write-Host "已将 $actualPdbName 复制并重命名为$targetPdbName 用于打包"
+}
+
+if (Test-Path "$output\$actualXmlName") {
+ Copy-Item -Path "$output\$actualXmlName" -Destination "$output\$targetXmlName" -Force
+ Write-Host "已将 $actualXmlName 复制并重命名为$targetXmlName 用于打包"
+}
+
# 复制图标文件到输出目录
if (Test-Path $iconSourcePath) {
Copy-Item -Path $iconSourcePath -Destination (Join-Path $output $iconFileName) -Force
@@ -133,6 +175,8 @@ $tempProjContent = @"
+
+
@@ -177,6 +221,8 @@ $nuspecContent = @"
+
+
@@ -206,6 +252,22 @@ $destDllPath = Join-Path $libDir $targetDllName
Copy-Item -Path $sourceDllPath -Destination $destDllPath -Force
Write-Host "已复制$sourceDllPath 到$destDllPath"
+# 复制PDB文件到包结构中
+$sourcePdbPath = Join-Path $output $targetPdbName
+$destPdbPath = Join-Path $libDir $targetPdbName
+if (Test-Path $sourcePdbPath) {
+ Copy-Item -Path $sourcePdbPath -Destination $destPdbPath -Force
+ Write-Host "已复制$sourcePdbPath 到$destPdbPath"
+}
+
+# 复制XML文件到包结构中
+$sourceXmlPath = Join-Path $output $targetXmlName
+$destXmlPath = Join-Path $libDir $targetXmlName
+if (Test-Path $sourceXmlPath) {
+ Copy-Item -Path $sourceXmlPath -Destination $destXmlPath -Force
+ Write-Host "已复制$sourceXmlPath 到$destXmlPath"
+}
+
# 复制图标文件到包结构根目录
$sourceIconPath = Join-Path $output $iconFileName
$destIconPath = Join-Path $tempDir $iconFileName