【问题标题】:Migrator.NET MSBuild - Could not load file or assembly 'Migrator.Framework'Migrator.NET MSBuild - 无法加载文件或程序集“Migrator.Framework”
【发布时间】:2023-03-27 15:27:01
【问题描述】:

我已经使用 NuGet 安装了 Migrator.NET,但是当我尝试使用 MSBuild 运行迁移时,我收到以下错误。我看到它在访问 Migrator.Framework 程序集时遇到了问题,但我不确定为什么或在哪里需要放置 DLL 以使其运行。

C:\Users\Cody\src\App\App.Migrations\App.Migrations.csproj(64,5):错误 MSB4062:无法从程序集 C 加载“Migrator.MSBuild.Migrate”任务: \Users\Cody\src\App\App.Migrations..\packages\MigratorDotNet.0.9.0.33276\tools\Migrator.MSBuild.dll。

无法加载文件或程序集“Migrator.Framework, Version=0.0.0.0, Culture=neutral, PublicKeyToken=3b3586e9632ecfce”或其依赖项之一。该系统找不到指定的文件。确认声明正确,程序集及其所有依赖项都可用,并且任务包含实现 Microsoft.Build.Framework.ITask 的公共类。

有人有什么见解吗?我花了太长时间摆弄这个。

【问题讨论】:

    标签: c# .net msbuild migration


    【解决方案1】:

    事实证明问题实际上在于它正在寻找版本 0.0.0.0。我下载了项目并将 Migrator.Framework 二进制文件重新编译为版本 0.0.0.0 作为快速修复。真正的解决方案是重新编译 Migrator.MSBuild.dll 以寻找正确版本的 Migrator.Framework。

    我会看看这是否是一次性错误,或者我是否可以重现它,如果它实际上是 NuGet 包的错误,则将其作为错误提交给 Migrator.NET 团队。

    【讨论】:

    • 这确实是一个解决方案,但是您也可以使用以前的版本,它可以正常工作,而新版本不固定。您可以通过强制 Nuget 安装特定版本的 MigratorDotNet 来做到这一点:Install-Package MigratorDotNet -Version 0.9.0.28138
    • 谢谢先生...我在没有 nuget 之前使用过 migrator.net,只是将二进制文件从不同的项目复制到另一个项目...想知道为什么我突然在nuget 拉动
    猜你喜欢
    • 2020-08-17
    相关资源
    最近更新 更多