Ich habe gerade meinen vorhandenen SQL Server 2008 R2.dbproj auf einen SQL Server 2012.sqlproj (mithilfe von SQL Server-Datentools) aktualisiert.Verwenden von Msbuild-Eigenschaften in sqlproj (SQL Server 2012) -Skript
Früher konnte ich eine SQLCMD Variable in meinem Projekt definieren und dann den Wert definieren, indem Sie die Projektdatei Bearbeitung von msbuild Werte zu verwenden, das folgende Element hinzu:
<ItemGroup>
<SqlCommandVariableOverride Include="ProjectDirectory=$(MSBuildProjectDirectory)" />
</ItemGroup>
Was ich könnte dann verwenden in meinem PostDeployment-Skript wie folgt:
SELECT * INTO dbo.MyTable FROM dbo.MyTable WHERE 1=2
BULK INSERT dbo.MyTable
FROM '$(ProjectDirectory)\data\dbo.MyTable.dat'
WITH (DATAFILETYPE = 'widenative')
Allerdings scheint dies nach dem Upgrade nicht mehr zu funktionieren.
Ich habe versucht, den gleichen Eintrag zu den neuen sqlproj hinzuzufügen, aber die Publish-Funktion scheint es nicht aufzuheben und möchte, dass ich einen Wert angeben. Wenn ich $(MSBuildProjectDirectory)
liefern, wird das wörtlich interpretiert und schlägt fehl.
Unter dem neuen Regime, was ist der Mechanismus zum Angeben eines lokalen Dateipfads und/oder Verwenden von Msbuild-Werten?