You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用.NET Upgrade Assistant升级WPF项目转SDK样式时遇路径找不到错误

.NET Upgrade Assistant升级WPF项目转换SDK样式时出现路径找不到错误

错误详情

System.IO.DirectoryNotFoundException: 找不到路径的一部分:'C:\Users\nikhilsh\AppData\Local\Temp\UpgradeAssistant\Projects\a24f30fa-182a-40e9-8301-2fe09a378e8d\2024-02-01--18-08-13\Service References\DataDwonloadAuthServiceReference\WBid.WBidClient.Main.DataDwonloadAuthServiceReference.AuthServiceResponseModel.datasource'。

在 System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
在 System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite, Boolean checkHost)
在 Microsoft.UpgradeAssistant.Services.FileSystemExtensions.DirectoryCopy(IFileSystem fileSystem, String sourceDirectory, String targetDirectory, ISet1 excludeFolders, Boolean recursive)(位于D:\a\_work\1\s\src\engine\Services\FileSystem\FileSystemExtensions.cs:第23行) 在 Microsoft.UpgradeAssistant.Services.FileSystemExtensions.DirectoryCopy(IFileSystem fileSystem, String sourceDirectory, String targetDirectory, ISet1 excludeFolders, Boolean recursive)(位于D:\a_work\1\s\src\engine\Services\FileSystem\FileSystemExtensions.cs:第31行)
在 Microsoft.UpgradeAssistant.Services.FileSystemExtensions.DirectoryCopy(IFileSystem fileSystem, String sourceDirectory, String targetDirectory, ISet`1 excludeFolders, Boolean recursive)(位于D:\a_work\1\s\src\engine\Services\FileSystem\FileSystemExtensions.cs:第31行)
在 Microsoft.UpgradeAssistant.Transformers.ProjectSdkStyleTransformer.d__2.MoveNext()(位于D:\a_work\1\s\src\engine\Transformers\Project\ProjectSdkStyleTransformer.cs:第65行)
--- 引发异常的上一位置的堆栈跟踪结束 ---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 Microsoft.UpgradeAssistant.Operations.Operation.d__23.MoveNext()(位于D:\a_work\1\s\src\engine\Operations\Operation.cs:第386行)
--- 引发异常的上一位置的堆栈跟踪结束 ---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 Microsoft.UpgradeAssistant.Operations.Operation.d__21.MoveNext()(位于D:\a_work\1\s\src\engine\Operations\Operation.cs:第274行)

问题原因

升级助手在并行升级过程中,尝试复制原项目的服务引用相关文件到临时目录时,找不到指定的.datasource文件,可能是原项目服务引用文件缺失、损坏,或者临时目录缓存了无效数据导致。

解决方案

1. 检查并修复原项目的服务引用

  • 打开原WPF项目,定位到Service References下的DataDwonloadAuthServiceReference
  • 检查是否存在WBid.WBidClient.Main.DataDwonloadAuthServiceReference.AuthServiceResponseModel.datasource文件
  • 若文件缺失或损坏,右键该服务引用选择更新服务引用,或直接删除服务引用后重新添加

2. 清理升级助手临时缓存

  • 删除路径C:\Users\nikhilsh\AppData\Local\Temp\UpgradeAssistant下的所有文件和文件夹,清除旧的缓存数据后重新运行升级助手

3. 手动转换为SDK样式项目(自动升级失败时)

  • 备份原项目的.csproj文件
  • 创建一个新的.NET 6 WPF项目,参考其SDK样式的项目结构,手动修改原项目的.csproj:
    <Project Sdk="Microsoft.NET.Sdk">
      <PropertyGroup>
        <OutputType>WinExe</OutputType>
        <TargetFramework>net6.0-windows</TargetFramework>
        <UseWPF>true</UseWPF>
      </PropertyGroup>
      <!-- 手动添加原项目的文件引用、NuGet包引用等 -->
    </Project>
    
  • 重新处理服务引用:使用.NET 6的Connected Services或dotnet-svcutil工具重新生成服务引用,替代原有的Service References

4. 跳过服务引用目录执行升级

  • 使用升级助手的--exclude参数,暂时排除Service References目录,先完成SDK样式转换,之后再手动处理服务引用
  • 示例命令:
    upgrade-assistant upgrade YourProject.csproj --exclude "Service References"
    

内容的提问来源于stack exchange,提问作者Vinu PR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 03:57:43