たくさんの移行を伴うプロジェクトがあります。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>
これを実行すると、次の出力が得られます。BUILD FAILED
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は彼らの答えで何かに取り組んでいました。
ステップ1、FluentMigratorとFluentMigrator.Toolsを1.0.5.0に更新しました。ツールはまだ1.0.3.0のままでした。
2番目のステップは、ビルドファイルを更新して.NET4.0dllを参照することでした。両方の組み合わせで問題は修正されましたが、.NET4.0dllを参照するまで改善は見られませんでした。
これが将来の参考のために私の現在の.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>