【问题标题】:ASP.NET - Cannot evaluate expression because the code of the current method is optimizedASP.NET - 无法评估表达式,因为当前方法的代码已优化
【发布时间】:2017-09-15 21:04:48
【问题描述】:
FileVersionInfo.GetVersionInfo("~/bin/MyFile.dll").FileVersion

当我拨打这个电话时,我收到以下错误:

“无法计算表达式,因为当前方法的代码已经过优化”

有没有办法在 ASP Web 应用程序中获取 DLL 的版本?后面的代码是 VB……但我猜它是 VB 还是 C# 都没关系。

它必须在 RELEASE 中工作,并且当应用程序部署到生产环境时。我搜索了互联网,但只发现了很多 DEBUG 与 RELEASE 配置。

我也试过了,没有帮助:

http://torulflundgren.blogspot.com.au/2010/03/cannot-obtain-value-of-local-or.html

提前致谢!

【问题讨论】:

  • 你的问题标题和问题本身有什么关系?
  • 什么是 fqFileName ?
  • 已修复。对此感到抱歉。
  • 这不是重复的。 tonythewest 发布的链接没有提及我收到的错误。我还尝试使用 AssemblyName.GetAssemblyName(@"c:\path\to\file.dll").Version 并收到完全相同的异常:“无法获取局部变量或参数的值,因为它在此指令中不可用指针,可能是因为它已经被优化掉了。”

标签: c# asp.net vb.net visual-studio


【解决方案1】:

FileVersionInfo 表示与关联的版本信息 指定的文件。

我在我的自定义 dll 上尝试了这个,它可以正常工作

    FileVersionInfo fvi = FileVersionInfo.GetVersionInfo(@"C:\HBK.SystemCore.dll"); 

    string version = fvi.FileVersion;

【讨论】:

  • assembly 的目的是什么?你创造了它,但从来没有我们。
  • 如果获取当前程序集使用 assembly.locator
  • 没用。您基本上发布了完全相同的代码,这给了我一个错误。
  • 我更新了答案。怎么了 ?请发送错误信息
  • 最初的帖子中列出了错误,以及帖子标题:“无法评估表达式,因为当前方法的代码已优化”
猜你喜欢
  • 2011-03-27
  • 2016-08-15
  • 1970-01-01
  • 1970-01-01
  • 2012-06-14
  • 2012-07-11
相关资源
最近更新 更多