.NET调试现有项目

时间:2010-09-28 14:48:53

标签: vb.net debugging

背景/免责声明

首先,如果您能理解以下问题,请完全跳过此步骤。

对于.NET来说,我还是一个非常新鲜的人,但是对于常规VB中糟糕的旧ASP,他是一只老猴子。

我刚进入一家拥有一些遗留.NET VB文件的公司,现在我有几个巨大的项目,超过50mb的文件和大约1GB的整个项目,调试它们并不容易。我read through w3schools tutorial做了很多谷歌研究,以达到这一点,我无法做到这一点。 unlike in another very similar question我不认为这是一个简单的问题。

我不知道这些项目是MVC还是常规Web应用程序,但我被告知使用“其他项目类型> Visual Studio解决方案>空白解决方案”然后“添加现有网站“。没有进一步的说明或方向,我看到他们都有DLL并让我相信他们不是MVC。

无论如何,无论我或多种其他方式尝试将文件添加到Visual Studio中,我都无法使用其中一个正确使用Debug。一个工作得很好,我至少可以从网络服务器看到它在本地运行非常相似。但是另一个给了我许多随机错误和警告来“编译”调试并在Visual Studio自己的服务器上运行(我认为它叫做“ ASP.NET开发服务器”)。有些错误甚至不应该存在,例如“文件XXX不存在”,而我可以轻松验证 存在!

我真的不希望在这里有太多帮助,但我仍然希望找到一些帮助。对不起,如果这太多了。

问题

  • 我有哪些选项来调试已在调试甚至错误选项关闭的服务器中已在线工作的大型Visual Studio项目?
  • 如何才能知道如何正确地将现有项目“导入”到Visual Studio中?
  • 这是一个家庭作业问题吗?
  • (新)鉴于我有3个位置可以同步许多文件(本地,共享生产网络和实时),处理和调试现有错误的最佳方法是什么?开箱即用的想法总是受欢迎的(转换项目,不使用Visual Studio,旧版本,无论如何)

1 个答案:

答案 0 :(得分:3)

听起来你可能有点过头了。我的第一步是要求另一个开发人员帮助你,因为你正在学习真正的学习之旅。

在我继续前进之前,你正在使用本地副本...而不是服务器副本,对吧?如果他们让您通过网络浏览到服务器,那么您需要立即停止它。而是将所有文件复制到本地目录并从中进行操作。然后去了解出版。直接在服务器上工作总是坏事(tm)。它调试了调试,更重要的是,这是完全错误的。通常公司都有某种类型的源或版本控制系统。用它。如果它不在那里,你可能想要提起它。

“添加现有网站”功能添加了“网站”项目,而不是Web应用程序或MVC应用程序。这三件事情彼此截然不同。我将根据应用程序的使用年限猜测您没有MVC应用程序。

判断其他两种类型之间区别的最佳方法是.proj(项目)文件是否存在于站点的根目录中。如果它在那里,它是一个Web应用程序。如果不是,那就是一个网站。

对于Web应用程序
如果是Web应用程序,请查看父文件夹以查看是否存在.sln(解决方案)。如果是这样,请在visual studio中打开它。

如果.sln不存在(或项目不在其中),则可以创建新的空白解决方案,然后单击“添加现有项目”。从那里浏览到.proj文件并添加它。

此时,请在解决方案资源管理器中查看是否可以找到所有文件。最有可能的是,缺失的那些不包括在项目中。如果您没有看到它们,请单击解决方案资源管理器顶部的“显示所有文件”按钮。然后找到它们,右键单击,然后添加到项目中。

Web应用程序没有编辑和继续,但确实有很多其他功能,这就是为什么没有人再使用网站了。

对于网站
创建空白解决方案,然后单击“添加现有网站”。浏览到包含该站点的文件夹,然后单击“添加”。

打开调试/错误
调试和错误选项完全在web.config中。只需更改本地配置并通过F5再次运行。

最后一个注意事项
我强烈建议,一旦您确定这是一个网站或Web应用程序和 BEFORE ,您就开始尝试调试这个野兽,您可以创建自己的网站/ Web应用程序作为测试。找到这方面的教程,有很多。您可以访问asp.net网站并观看他们的培训视频。

使用它来构建一些带有导航和一些数据库连接的网页。可能需要几天时间,但在此之前你会在.net之前学到更多东西。

更新新问题
不仅仅是最好的,而且只是 的地方,你应该调试的是你的本地副本。在共享文件集上进行调试不能很好地工作(网络驱动器的许多安全问题)从不介意多个开发人员可能正在共享区域工作并从现场生产服务器调试是一个巨大的禁忌。

现在有些人可能会说有时你必须在生产中进行调试。实际情况是,生产中仅 的问题分为两类:1。您没有使用正确的数据进行测试。 - 这意味着您的测试环境需要更好。或者2.这是一个环境问题。解决#2的最佳方法是使用一个与生产完全相同的临时服务器,在推送之前进行最终测试。

如果您仍然认为必须在生产中进行调试,请考虑进行轻微更改以完全杀死您网站的影响。当然,你可以迅速推翻这一变化,但是你完全惹恼了多少人。更重要的是,他们中有多少是客户和/或高管?

这引导我们走向最后一块。如果您的项目是Web站点项目,则继续将其升级到Web应用程序项目。部署时,不应该复制代码。相反,一切都应该被编译。