【问题标题】:Visual Studio 2010 Crashes after pasting a large multi-line string (Approximately 1500 lines)粘贴大型多行字符串(大约 1500 行)后,Visual Studio 2010 崩溃
【发布时间】:2012-06-04 17:20:52
【问题描述】:

我正在 Visual Studio 2010 中创建一个安装一些 SQL 存储过程的 VB 应用程序。这些存储过程是加密的,否则我只会为我的客户提供 .sql 文件来创建存储过程。

创建存储过程的安装脚本长度为 1500 行,并且已按照 VS 2010 要求包含多行文字的方式进行格式化:

"First Line" & _  
"Second Line" & _  
"etc..."

每次我将多行脚本粘贴到 Visual Studio 中时,应用程序都会崩溃。任何人都有更好的方法将非常大的字符串文字分配给字符串变量。我需要的是以下内容:

Imports System.Data.Sql Client

...

cmd cmd as SqlCommand
dim str as string

str = _
    "Very" & _
    "Long" & _
    ... 1500 lines ...
    "String"

cmd.CommandText = str

或将 .sql 脚本分配给 SqlCommand 的其他方式。

谢谢。

【问题讨论】:

  • 您在遇到这种情况时是否在使用 ReSharper?我刚刚经历过类似的事情,卸载 ReSharper 使问题消失了。我想知道this 是否是同一个问题。

标签: sql vb.net visual-studio-2010 crash


【解决方案1】:

可以将其粘贴到记事本中并保存在那里,也可以将其拆分为多个字符串,然后在最后连接起来。

或者更好的是,将命令放在资源文件中并在运行时加载资源!

【讨论】:

  • 我可以使用 notepad++ 打开 .vb 文件并粘贴字符串而不会出现问题。但是如果我在 VS2010 中打开解决方案,它会在加载解决方案后不久崩溃。
  • 我对您关于将字符串保存为资源并在运行时加载的评论感兴趣,您能指导我如何做到这一点吗?
  • 您只需右键单击您的项目,转到资源并在键名下添加您的代码。如果它仍然因为它太大而失败(它可能),你在 properties/resources.resx 文件中手动执行它(它只是 xml,确保你正确地转义任何 <>& 字符)。
  • 不同之处在于您从未在 vs 编辑器中实际加载 resources.resx,它只是由 csc.exe 作为资源 blob 添加到您的项目中,因此一旦从外部输入它应该是安全的。
  • 将长格式字符串添加到资源后,如何将字符串分配给变量?
【解决方案2】:

我也遇到了这个问题,下面的代码对我有用:

cmd cmd as SqlCommand
dim str as string

str = "Very" 
str &= "Long" 
    ... 1500 lines ...
str &= "String"

cmd.CommandText = str

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-24
    • 2011-03-25
    • 1970-01-01
    • 2013-05-09
    • 2013-05-27
    相关资源
    最近更新 更多