Build error TSD00259: dbschema does not exist

Az egyik projektünkben a Data Dude-ot használjuk az adatbázis szkriptek kezelésére és azt kell mondanom, hogy egészen bevált. Azonban x64-es gépen nem sikerült lefordítanunk az x86-on tökéletesen működő projektet.

Akinek van VS 2008 Team System változata, annak feltétlenül érdemes kipróbálni a Data Dude-ot, teljes nevén a Visual Studio Team System 2008 Database Editiont, mert nagyon praktikus funkciók vannak benne az adatbázis forrásának kezeléséhez. Aki pedig szeret build környezetet automatizálni, annak érdemes megnéznie, mit tud a Data Dude Power Tools. Ráadásul ezek a funkciók a VS 2010-től kezdve már részben a Professional változattól is elérhetőek lesznek, érdemes minél előbb hozzászokni.

Az egyik kedves szolgáltatása ennek a projekt típusnak, hogy ismeri az SQL Server beépített adatbázis objektumait, ahhoz képes IntelliSense-t adni, hivatkozásokat ellenőrizni stb. Ehhez fel kell venni az objektumokat leíró .dbschema fájlokat referenciaként a projektbe:

Database references

Ez tökéletesen működött is x86-os gépen, ám amikor ugyanezt a projektet x64-en akartam fordítani, az alábbi hibaüzenetet kaptam:

"W:\TFS\MySolution\MySolution.sln" (Build target) (1) ->
"W:\TFS\MySolution\Database\Database.dbproj" (default target) (3) ->
(DspBuild target) –>
    C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v9.0\TeamData\Microsoft.Data.Schema.SqlTasks.targets(58,5):
Build error TSD00259: File C:\Program Files\Microsoft Visual Studio 9.0\VSTSDB\Extensions\SqlServer\2008\DBSchemas\master.dbschema does not exist.
    C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v9.0\TeamData\Microsoft.Data.Schema.SqlTasks.targets(58,5):
Build error TSD00259: File C:\Program Files\Microsoft Visual Studio 9.0\VSTSDB\Extensions\SqlServer\2008\DBSchemas\msdb.dbschema does not exist.

És milyen igaza van, x64-en tényleg nincsenek .dbschema fájlok a C:\Program Files mappában, mert a C:\Program Files (x86)\ mappában vannak. A megoldás a project fájl kézi átírása. A hibás rész ez:

    <ArtifactReference Include="C:\Program Files\Microsoft Visual Studio 9.0\VSTSDB\Extensions\SqlServer\2008\DBSchemas\master.dbschema">

Írjuk át erre:

    <ArtifactReference Include="$(VSTSDBDirectory)\Extensions\SqlServer\2008\DBSchemas\master.dbschema">

Az msdb.dbschema fájllal ugyanezt kell eljátszanunk, utána fordulni fog a projekt mindkét architektúrán. Érdekes, hogy az Microsoft.SqlTypes.dbschema fájl útvonalát sikerült korrektül rögzítenie, csak a master és az msdb problémás.



Balássy György (MS RD, ASP.NET MVP, MCTS)

Balássy György (MS RD, ASP.NET MVP, MCTS) Villamosmérnök, a BME Automatizálási és Alkalmazott Informatikai Tanszékén webportálok fejlesztését oktatja. 2000 óta foglalkozik a Microsoft .NET platformjával, melynek meghonosításában jelentős szerepet vállalt előadóként, konzulensként és A .NET Framework és programozása című könyv társszerzőjeként. Az MSDN Kompetencia Központon belül a Portál Technológiák Csoport vezetője, szakterülete web alapú rendszerek fejlesztése és üzemeltetése. 2004-ben Magyarországon elsőként kapta meg a Most Valuable Professional címet, majd 2005 óta a Microsoft magyarországi regionális igazgatója. Publikációi a Technet Magazinban, az MSDN Kompetencia Központ honlapján és szakmai blogjában olvashatóak.

2010.01.21. 10:05:49 | Permalink | Hozzászólások: 0 | Tárgyszavak: ,


  • IEnumerable.Dump()

    Balássy György (MS RD, ASP.NET MVP, MCTS) Épp az egyik új tárgyunkhoz írok jegyzetet és példakódot LINQ to XML témában és felmerült, hogy kellene egy kényelmesen használható Dump metódus gyűjtemények elemeinek konzolra írásához. Tovább »
  • Javaval települ a Silverlight, ez már a vég?

    Balássy György (MS RD, ASP.NET MVP, MCTS) Épp Javat telepítek a böngészőbe és nem hiszek a szememnek: jön vele a Silverlight! Pontosabban telepíthetjük vele az MSN Toolbart, aminek pedig az az érdekessége, hogy teljesen Silverlight alapú, azaz amikor az MSN Toolbart telepítem, települ a Silverlight is. Tovább »


Írja meg Ön is véleményét!


Hozzászólásokat csak regisztrált, bejelentkezett felhasználóktól tudunk elfogadni!

Hozzászólások