Verwendung von Msbuild-Eigenschaften in SQLProj-Skripten (SQL Server 2012)

Ich habe gerade mein vorhandenes SQL Server 2008 r2 .dbproj auf ein SQL Server 2012 .sqlproj aktualisiert (mithilfe der SQL Server-Datentools).

Bisher konnte ich in meinem Projekt eine SQLCMD-Variable definieren und anschließend den Wert durch Bearbeiten der Projektdatei zur Verwendung von msbuild-Werten definieren, indem ich das folgende Element hinzufügte:

<ItemGroup>
    <SqlCommandVariableOverride Include="ProjectDirectory=$(MSBuildProjectDirectory)" />
</ItemGroup>

Was ich dann in meinem PostDeployment-Skript so verwenden könnte:

SELECT * INTO dbo.MyTable FROM dbo.MyTable WHERE 1=2
BULK INSERT dbo.MyTable
FROM  '$(ProjectDirectory)\data\dbo.MyTable.dat'
WITH (DATAFILETYPE = 'widenative')

Nach dem Upgrade scheint dies jedoch nicht mehr zu funktionieren.

Ich habe versucht, den gleichen Eintrag zum neuen sqlproj hinzuzufügen, aber die Veröffentlichungsfunktion scheint ihn nicht zu übernehmen und möchte, dass ich einen Wert bereitstelle. Wenn ich versorge$(MSBuildProjectDirectory), das wird wörtlich interpretiert und scheitert.

Welchen Mechanismus gibt es unter dem neuen Regime, um einen lokalen Dateipfad anzugeben und / oder msbuild-Werte zu verwenden?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage