【问题标题】:The Immediate Window即时窗口
【发布时间】:2012-03-18 11:58:30
【问题描述】:

我们使用fluentmigrator,它需要一个长的迁移号。

通常我可以直接打开即时窗口并输入

System.DateTime.Now.ToString("yyyMMddhhmmss");

但有时它会说:

在设计模式下无法计算表达式。

所以我开始调试再次运行命令并得到这个错误:

在运行模式下无法计算表达式。

编辑添加

如果我开始调试并点击暂停并输入我得到的命令

无法计算表达式,因为当前线程处于睡眠、等待或加入状态

如果我开始调试时遇到断点,那么它可以工作,但是要跳过的环太多,它在第一个场景中已经工作了。它似乎在构建我的项目,因为如果出现错误,它就不会执行。

这是在 Visual Studio 2010 专业版中。

如果有人能告诉我如何将其作为类模板或可能是 powershell 类型的东西来执行此操作,则可以加分?

我已尝试Immediate Window, "The expression cannot be evaluated...." 中的答案,但选择项目不起作用。我没有在即时窗口中得到 >,如果我把它放在命令之前,我得到 ​​p>

命令“...”无效。

编辑添加 我创建了这个 gist 来做我想做的事。

https://gist.github.com/9ad816c2b8e56b57ef79

基本上是一个 powershell 命令,用于创建一个填充了一些废话的 c# 模板。

【问题讨论】:

标签: visual-studio-2010 powershell immediate-window class-template


【解决方案1】:

为什么不直接使用 PowerShell:

PS> [DateTime]::Now.ToString("yyyMMddhhmmss");
20120228043351

【讨论】:

  • 我收到identifier "PS" is undefined
【解决方案2】:

我不是 Visual Studio 用户,但这是您可以使用 PowerShell cmdlet 获取值的方法:

Get-Date -Format yyyMMddhhmmss

【讨论】:

    【解决方案3】:

    需要在第三种模式下执行——Debug模式(在调试器中暂停)。

    【讨论】:

    • 我的配置设置为调试,如果这是您的意思?
    • 否;我的意思是你需要在调试器中暂停执行,使用断点或暂停按钮。
    • 听起来 OP 在不调试的情况下从即时窗口执行此操作。在那种情况下,调试与发布与任何其他模式都不应该对这样的表达式产生影响(不依赖于任何应用程序静态)。
    • @JaredPar:我不是说配置。
    • @SLaks 好的。但这并不能解决 OP 命中的第一个错误
    猜你喜欢
    • 1970-01-01
    • 2010-11-09
    • 1970-01-01
    • 1970-01-01
    • 2012-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多