繁体   English   中英

asp.net网站-是否可以预编译?

[英]asp.net website - Can I tell if it has been precompiled?

我的情况有点奇怪。

我的一位客户在专用服务器上拥有一个Asp.net(框架的v2)站点。

他们要求我在开发人员离开时对代码进行一些更改。 显然最新版本在服务器上。

我下载了该代码,在VS2010中将其打开,对其进行了转换,一切都很好。 但是,当我运行代码时,我从aspx页面得到了编译时错误,它们在其中调用代码中不存在的属性。 (根据“在文件中查找”,整个解决方案,

所以我做了一些挖掘。 在Bin文件中,有一个网站的程序集。 在服务器上,超过30万。 在我的机器上是180k。

我接受这可能仅仅是因为以后的编译器会更好地打包代码,但是如果这显示出120k的改进,我将感到惊讶。

因此,我唯一能想到的是,在某个时候,他进行了一些更改并编译了网站,但没有首先删除所有旧的.cs文件。

这是否可能,或者有人可以建议我查看我正在见证的行为的其他原因吗?

[编辑]

好的,它没有预编译,所以我真的很难理解现在发生了什么。

  • 我有网站上的所有代码。
  • 代码在服务器上有效。

但是,由于我已经回答了我的原始问题,因此我将结束此问题,毫无疑问,明天我再深入一点后再回来。

谢谢

最简单的方法是查看aspx页面:

  • 如果它们在@Page指令中指定了Assembly=
  • 或页面大小为1KB,带有一些“占位符”文本

然后将其预编译。

在第一种情况下,它是“部分编译的”(相当于“可更新的”,即您可以更改某些内容)。 在后一种情况下,它是“完全编译”的。

而且,也许最值得注意的是,将缺少代码文件(* .vb,*。cs等)-因为,无论编译模式(如果已编译)如何,它们都将被编译为二进制文件。 如果源文件到位,则可能是您有未编译的解决方案-或一个非常非常奇怪的项目设置。

可能还有其他解释。 例如,其中之一是,以前的开发人员使用了版本控制软件,并且没有将他/她曾经使用过的所有文件添加到其中,而这就是您下载的内容,即实际上丢失了一些文件。

在您的位置,我将通过某些程序集浏览器(例如ILSpy)检查程序集。 然后,您可以查看其中的内容以及与代码文件不同的内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM