gpt4 book ai didi

c# - 如何仅对选定类型的数据库使用 FluentMigrator.Runner

转载 作者:行者123 更新时间:2023-11-30 12:55:21 25 4
gpt4 key购买 nike

目前,当我将 FluentMigrator.Runner nuget 包添加到 c# 项目时,它会自动安装所有其他相关的 nuget 包:FluentMigrator.Runner.Db2FluentMigrator.Runner . Firebird

但我只需要SqlServer的支持。我无法卸载所有这些辅助包,因为 FluentMigrator.Runner 依赖于它们。

如果我强制删除引用,我只会遇到运行时错误:

Could not load file or assembly 'FluentMigrator.Runner.Db2, Version=3.0.0.0, 
Culture=neutral, PublicKeyToken=aacfc7de5acabf05' or one of its dependencies.
The system cannot find the file specified.

这使我的 C# 项目引用了很多无用的 dll。特别是 Sql Server Ce native 文件。如果我只需要 SqlServer,有没有办法摆脱 Db2、Firebird 和其他实现?

我使用 Fluent Migrator 版本 3 和 .Net 4.7.1

最佳答案

这里是解决这个问题的方法:

  1. 删除项目对其他数据库运行器的引用;
  2. 删除“packages.config”文件中其他数据库运行器的条目;
  3. 删除解决方案“packages”文件夹中其他数据库运行器的所有文件;
  4. 使用记事本从 .csproj 文件中删除这些行:

<Import Project="..\packages\FluentMigrator.Runner.SqlServerCe.3.1.3\build\netstandard2.0\FluentMigrator.Runner.SqlServerCe.targets" Condition="Exists('..\packages\FluentMigrator.Runner.SqlServerCe.3.1.3\build\netstandard2.0\FluentMigrator.Runner.SqlServerCe.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\FluentMigrator.Runner.SqlServerCe.3.1.3\build\netstandard2.0\FluentMigrator.Runner.SqlServerCe.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\FluentMigrator.Runner.SqlServerCe.3.1.3\build\netstandard2.0\FluentMigrator.Runner.SqlServerCe.targets'))" />
</Target>

关于c# - 如何仅对选定类型的数据库使用 FluentMigrator.Runner,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50267109/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com