我正在考虑在.NET中开展一个新项目。 它是现有项目的维护。我对.NET项目没有多少经验,只有一些。
客户端发给我源代码(至少他告诉我这是源代码),但是,我没有看到任何* .cs文件。它有一些dll文件和ascx文件。
例如,default.aspx文件只有一个代码行
<%@ Page CodeBehind="default.aspx.cs" Inherits="Tere.Web._default" %>
母版页包含一些视图代码(而非代码隐藏代码)。母版页的第一行如下:
<%@ Master CodeBehind="Site.master.cs" Inherits="Tere.Web.Master.SiteMaster" %>
此时我有点困惑。
还有一个名为Tere.dll和Tere.Web.dll的DLL。 请问你能解释一下,这是否意味着客户给了我已经编译好的网站而没有源代码?或许他还没有把整个项目寄给我?那么,我应该告诉他什么 - 这不是他认为的源代码?
答案 0 :(得分:7)
源代码将包含(至少)每个网页的两个文件,例如default.aspx和default.aspx.cs
编译时,所有.aspx.cs文件都编译成DLL,而.aspx文件保持不变。这就是你给予的。您可能能够使用此进行某些纯粹的表示更改(.aspx文件包含HTML),具体取决于页面的设计精确程度。如果您想要更改网站所做的事情,那么您将不幸运行 - 该行为将编码在.aspx.cs文件中,而您尚未获得这些文件。
答案 1 :(得分:3)
是的,看起来他只是给了您编译的代码,而不是链接到实际页面的文件背后的代码。
告诉他他刚刚提供了部署文件而不是实际来源。
答案 2 :(得分:2)
从你的描述我怀疑你是对的:它不是真正的来源。客户端可能会为您提供已部署到Web服务器的已编译代码。
答案 3 :(得分:1)
您的客户端确实没有向您发送源代码,而是编译代码(dll)和网站的其他文件(aspx)。如您所知,包含源代码的文件为.vb
或.cs
。
答案 4 :(得分:0)
您的c#或vb代码被编译并存储在您的dll文件中,并且无法对它们进行反编译。当我为客户做项目时,我总是发送web.config,dll文件,.aspx文件和所有的util文件。