2009-12-07 1 views
0

Я пытался подключить один из моих проектов, чтобы использовать Machine.Migrations для миграции баз данных. Однако я не смог этого сделать. Я получаю странные ошибки. Я попытался использовать задачу MSBuild, но получаю следующую ошибку.Машина миграции миграции.

Target MigrationMachine: 
    D:\repositories\core\playground\minhajuddin\MachineMigrationsTest\lib\Machine.Migrations.targets(20,5): error MSB4062: The "Machine.Migrations.MigratorTask" task could not be loaded from the assembly D:\repositories\core\playground\minhajuddin\MachineMigrationsTest\lib\Machine.Migrations.dll. Could not load file or assembly 'file:///D:\repositories\core\playground\minhajuddin\MachineMigrationsTest\lib\Machine.Migrations.dll' or one of its dependencies. The system cannot find the file specified. Confirm that the <UsingTask> declaration is correct, and that the assembly and all its dependencies are available. 
Done building target "MigrationMachine" in project "MachineMigrationsTest.csproj" -- FAILED. 

Когда я пытаюсь использовать migrate.exe. Я получаю следующее сообщение об ошибке:

INFO Compiling Migration<1, CreateEmpTable>System.ArgumentException: Unable to locate Migration: 
D:\repositories\core\playground\minhajuddin\MachineMigrationsTest\MachineMigrationsTest\001_CreateEmpTable.cs at Machine.Migrations.Services.Impl.MigrationHelpers.LookupMigration(Assembly assembly, MigrationReference migrationReference) in D:\repositories\os\machine.migrations\Source\Machine.Migrations\Services\Impl\BooMigrationFactory.cs:line 80 at Machine.Migrations.Services.Impl.CSharpMigrationFactory.CompileMigration(MigrationReference migrationReference) in D:\repositories\os\machine.migrations\Source\Machine.Migrations\Services\Impl\CSharpMigrationFactory.cs:line 71 
    at Machine.Migrations.Services.Impl.AbstractMigrationCompilerFactory.CreateMigrationInstance(MigrationReference migrationReference) in D:\repositories\os\machine.migrations\Source\Machine.Migrations\Services\Impl\AbstractMigrationCompilerFactory.cs:line 9 
    at Machine.Migrations.Services.Impl.CSharpMigrationFactory.CreateMigration(Mi 
grationReference migrationReference) in D:\repositories\os\machine.migrations\So 
urce\Machine.Migrations\Services\Impl\CSharpMigrationFactory.cs:line 35 
    at Machine.Migrations.Services.Impl.MigrationRunner.CanMigrate(ICollection`1 
steps) in D:\repositories\os\machine.migrations\Source\Machine.Migrations\Servic 
es\Impl\MigrationRunner.cs:line 40 
    at Machine.Migrations.Services.Impl.Migrator.RunMigrator() in D:\repositories 
\os\machine.migrations\Source\Machine.Migrations\Services\Impl\Migrator.cs:line 
39 
    at Machine.Migrations.Migrator.Run(IConfiguration configuration) in D:\reposi 
tories\os\machine.migrations\Source\Machine.Migrations\MigratorTask.cs:line 29 
    at Machine.Migrations.ConsoleRunner.Program.Run(String[] args) in D:\reposito 
ries\os\machine.migrations\Source\Machine.Migrations.ConsoleRunner\Program.cs:li 
ne 38 

код в 001_create_emp_table.cs

namespace MachineMigrationsTest { 
    public class CreateEmpTable : SimpleMigration { 
     public override void Up() { 
      Schema.AddTable("Emp", 
       new Column[] 
        { 
         new Column("Id",ColumnType.Long,0,true,false) 
        }); 
     } 

     public override void Down() { 
      Schema.DropTable("Emp"); 
     } 
    } 


} 

Пожалуйста, помогите мне.

Thank you, Khaja Minhajuddin.

ответ

1

Попробуйте назвать свой класс так же, как файл для версии, за исключением: create_emp_table

Edit: Кроме того, попробуйте удалить пространство имен. Я думаю, что MMigrations может потребовать, чтобы вещи не были в пространстве имен.

+0

Благодарим за помощь, что устранить проблему. –