gpt4 book ai didi

nant - 设置 NAnt 和 FluentMigrator

转载 作者:行者123 更新时间:2023-12-01 06:40:50 25 4
gpt4 key购买 nike

我有一个包含大量迁移的项目。我可以使用 migrator.exe 手动运行它,但是我很难让它与我更喜欢的 NAnt 一起工作。

我有一个包含以下内容的 *.build 文件:

<project name="Migrations" xmlns="http://nant.sf.net/release/0.85/nant.xsd" default="migrate">
<loadtasks assembly="../packages/FluentMigrator.1.0.3.0/tools/FluentMigrator.NAnt.dll" />
<target name="migrate" description="Migrate the database">
<property name="version" value="-1" overwrite="false" />
<migrate
provider="sqlserver2008"
connectionstring="data source=*********; Initial Catalog=*****;User Id=*******; Password=********;"
target="./Migrations/bin/Debug/Migrations.dll"
directory="Migrations"
task="migrate"
to="${version}" />
</target>
</project>

运行时我得到以下输出:构建失败

C:\projects\ThisProject\Migrations\migrations.build(3,3):
Failure scanning "C:\projects\packages\FluentMigrator.1.0.3.0\tools\FluentMigrator.NAnt.dll" for extensions.
Could not load file or assembly 'file:///C:\projects\packages\FluentMigrator.1.0.3.0\tools\FluentMigrator.NAnt.dll' or one of its dependencies. An attempt was made to load a program with an incorrect format.

我一直在寻找 depends.exe,但该站点似乎已关闭,关于如何使其正常工作的任何想法?如果我做错了,我愿意接受全新的想法。

======已更新完整解决方案======

主席和 armen.shimoon 的回答很有意义。

第一步,我将 FluentMigrator 和 FluentMigrator.Tools 更新到 1.0.5.0。这些工具仍然是 1.0.3.0。

第二步是更新我的构建文件以引用 .NET 4.0 dll。两者的结合解决了问题,但在我引用 .NET 4.0 dll 之前它没有显示出改进。

这是我当前的 .build 文件以供将来引用:

<project name="Migrations" xmlns="http://nant.sf.net/release/0.85/nant.xsd" default="migrate">
<loadtasks assembly="../packages/FluentMigrator.Tools.1.0.5.0/tools/anycpu/40/FluentMigrator.Nant.dll" />
<target name="migrate" description="Migrate the database">
<property name="version" value="-1" overwrite="false" />
<migrate
database="sqlserver2008"
connection="data source=******; Initial Catalog=*****;User Id=*****; Password=*****;"
target="../Migrations/bin/Debug/Migrations.dll"
verbose="true"
/>
</target>
</project>

最佳答案

最可能的原因是 NAnt 在 x86 下运行,而您的 FluentMigrator DLL 在 x64 下运行。

编辑:另一种可能性是 .NET 目标框架版本。如果您的 NAnt 二进制文件是 .NET 3.5 而 FluentMigrator 是 .NET 4.0,它将无法正确加载。

关于nant - 设置 NAnt 和 FluentMigrator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13548270/

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