Ho appena aggiornato il mio .dbproj di SQL Server 2008 r2 esistente a un SQL Server 2012 .sqlproj (utilizzando SQL Server Data Tools).come utilizzare le proprietà di msbuild nello script sqlproj (SQL Server 2012)
In precedenza, sono stato in grado di definire una variabile SQLCMD nel mio progetto, e quindi definire il valore modificando il file di progetto per utilizzare i valori MSBuild aggiungendo il seguente elemento:
<ItemGroup>
<SqlCommandVariableOverride Include="ProjectDirectory=$(MSBuildProjectDirectory)" />
</ItemGroup>
quale ho potuto quindi utilizzare nel mio script PostDeployment come questo:
SELECT * INTO dbo.MyTable FROM dbo.MyTable WHERE 1=2
BULK INSERT dbo.MyTable
FROM '$(ProjectDirectory)\data\dbo.MyTable.dat'
WITH (DATAFILETYPE = 'widenative')
Tuttavia, dopo l'aggiornamento, questo sembra non funzionare più.
Ho provato ad aggiungere la stessa voce al nuovo sqlproj, ma la funzionalità Pubblica non sembra prenderlo e mi chiede di fornire un valore. Se fornisco $(MSBuildProjectDirectory)
, questo viene interpretato letteralmente e fallisce.
In base al nuovo regime, qual è il meccanismo per specificare un percorso file locale e/o utilizzare i valori di msbuild?