【发布时间】:2012-07-05 14:56:34
【问题描述】:
我刚刚将现有的 SQL Server 2008 r2 .dbproj 升级到 SQL Server 2012 .sqlproj(使用 SQL Server Data Tools)。
以前,我可以在我的项目中定义一个 SQLCMD 变量,然后通过编辑项目文件来定义值,以通过添加以下元素来使用 msbuild 值:
<ItemGroup>
<SqlCommandVariableOverride Include="ProjectDirectory=$(MSBuildProjectDirectory)" />
</ItemGroup>
然后我可以像这样在我的 PostDeployment 脚本中使用它:
SELECT * INTO dbo.MyTable FROM dbo.MyTable WHERE 1=2
BULK INSERT dbo.MyTable
FROM '$(ProjectDirectory)\data\dbo.MyTable.dat'
WITH (DATAFILETYPE = 'widenative')
但是,升级后,这似乎不再起作用。
我已经尝试将相同的条目添加到新的 sqlproj,但发布功能似乎没有选择它并希望我提供一个值。如果我提供$(MSBuildProjectDirectory),则按字面意思解释并失败。
在新制度下,指定本地文件路径和/或使用 msbuild 值的机制是什么?
【问题讨论】:
标签: visual-studio-2012 sql-server-2012 sql-server-data-tools