Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 每次我对项目进行更改时,SQLCLR数据库名称都会添加_1_C#_Sql_Visual Studio 2012_Sqlclr - Fatal编程技术网

C# 每次我对项目进行更改时,SQLCLR数据库名称都会添加_1

C# 每次我对项目进行更改时,SQLCLR数据库名称都会添加_1,c#,sql,visual-studio-2012,sqlclr,C#,Sql,Visual Studio 2012,Sqlclr,这是我看到的一个新现象,我的数据库名称是:MySQLCLR,其中有一个脚本总是使用这个名称: :setvar DatabaseName "MySQLCLR" 现在突然,每当我对sqlclr项目代码进行任何更改并重新编译时,新的输出脚本的名称中都会添加一个_1,如下所示: :setvar DatabaseName "MySQLCLR_1" 对代码和后续构建的另一项更改将生成以下内容: :setvar DatabaseName "MySQLCLR_1_1" 等等 知道为什么会这样吗 windo

这是我看到的一个新现象,我的数据库名称是:MySQLCLR,其中有一个脚本总是使用这个名称:

:setvar DatabaseName "MySQLCLR"
现在突然,每当我对sqlclr项目代码进行任何更改并重新编译时,新的输出脚本的名称中都会添加一个_1,如下所示:

:setvar DatabaseName "MySQLCLR_1"
对代码和后续构建的另一项更改将生成以下内容:

:setvar DatabaseName "MySQLCLR_1_1"
等等

知道为什么会这样吗


windows 2008 R2上的VS2012、MSSQL2008 R2

我认为这是因为它将数据库保存在同一位置,而不会覆盖旧数据库。您的数据库是否在visual studio中连接?如果是,请尝试以下操作:


在解决方案资源管理器示例“database.sdf”中搜索您的数据库。单击数据库并查看属性。可能应该有一个默认属性“don't copy”或其他内容,如果更新,则将其更改为copy,然后重新编译。然后问题是否仍然存在?

我看到visual studio也会导致其他SQL项目文件出现此问题。在我的例子中,这是因为他们的文件已经在那个位置,并且具有您试图给它的名称。检查该目录,看看这些文件是否已经存在。如果有,请删除它们,然后您的脚本应按预期运行


当人们执行错误的TFS合并并在本地计算机上挂起生成的文件时,我遇到了这个问题。当它们重新生成时,生成器以与您描述的类似的方式递增所有文件名。

转到项目的属性,转到调试,在目标连接字符串部分下,单击还原默认值


也许您需要安装。

我也遇到了这个问题。必须更改的设置位于左侧的“项目属性/调试”选项卡中。(右键单击数据库项目,选择属性。)在那里,您将看到一个目标连接字符串。在这里,您将看到数据库名称后面附加了讨厌的_1(或_2)。这就是您需要进行编辑的地方,以便在部署步骤中生成的部署脚本(例如mydatabase.sql)具有正确的数据库名称

是的,此设置甚至会影响发布版本,即使它位于“调试”选项卡中。算了吧


只需选择“恢复默认值”按钮,附加的数字就会消失。点击绿色>按钮或f5(即使在发布模式下),您将得到一个干净的部署脚本,其中包含正确的名称。

您使用的是SSDT吗?这可能完全不相关,但您的问题听起来与本文中提到的问题非常相似。他们可能有关联。事实上,这似乎是同一个“错误”。。。然而,在我写这篇文章时,SSDT有一个bug。当您单击“将概要文件添加到项目”时按钮它会立即添加一个具有原始默认名称的配置文件。然后,当您单击上面对话框中的“保存”按钮时,它会再次添加该配置文件,完全忽略您给它的名称。相反,它会再次使用默认名称,只是这一次使用了一个_1“这一直适用于我,直到最近,有办法解决吗?我不记得曾经使用过“发布”对话框。项目中是否有其他数据库引用?这不是名称递增的文件名,而是生成的sql脚本中的数据库名。请注意,[outfilename].sql在我的例子中始终是相同的