2013-06-27 40 views
1

這是一個很遠的嘗試,但我很難理解這一點。由於我的NDA,我無法提供大量的來源,但我會盡可能地提供。無法使用VS2010調試.NET Web應用程序

我被要求對我們的一個Web應用程序進行更改。我在一家國際公司工作,之前我從來沒有在這方面進行過大規模的工作(我大學時相對比較新鮮),所以它有點令人難以置信,但是讓它變壞十倍的是我可以不要調試應用程序!

當我點擊友好的綠色箭頭時,我遇到了一些錯誤(循環引用和缺少引用,通常在.master文件中)。

對我來說沒有意義的部分是我們的承包商每天都會繼續修改和調試我們的應用程序。必須有一些我做錯了。當我讓他們告訴我如何開始調試過程時,他們堅決拒絕,基本上聲稱這是一個商業祕密。這似乎充其量只是一個可疑的道德問題,最壞的情況是一個潛在的訴訟和違反我們與他們的合同,但這是另一回事。

我有一種感覺,這是一個非常快速的解決方案,但我的搜索沒有任何結果。

我們還有第二個Web應用程序,被另一家公司所觸動,我也無法編譯該項目,但有不同的錯誤。專業人員似乎知道一些我不知道的竅門。

也令人沮喪的是,這種情況使我看起來像一個完全無能的CS畢業生,我的非編程經理。我知道如何使用調試器,並且我知道C#/ .NET,但是我處於障礙之中,而且我是我公司中唯一的程序員(所以內部幫助是不可能的)。

任何人都可以幫我嗎?如果需要,我會提供有限的來源。

編輯1 - 以下是唯一錯誤的簡要列表。我用通配符替換了敏感信息。


「* tools_master」不包含關於「btnSave_onClick」的定義和沒有擴展方法「btnSave_onClick」接受型的第一參數「* tools_master」可以找到(是否缺少使用指令或程序集參考?)| * tools.master

不允許循環引用文件。 | * \ App_Master \ Account.Master

無法加載類型'* AddressDisplay'。 | * AddressDisplay.ascx

未知服務器標記'*:LeftNav'。 | * App_Master *首頁* .Master


編輯2 - 此外,網站建設和部署就好了。這只是調試,顯示錯誤。

編輯3 - 由於Kash的迴應,我設法修復了循環引用錯誤。其餘的將至少要等到明天。

+0

我們如何開始您收到的一些錯誤? –

+0

你在哪裏託管你的第一個應用程序?對於你的第二個項目,一些DLL文件可能會丟失.... –

+0

我們需要關於該項目的更多細節:它使用第三部分庫嗎?它是WebForms/MVC/Sharepoint項目嗎?如果你把它設置爲'Release',它甚至會運行嗎? –

回答

1

你能否成功構建這個應用程序?這聽起來不像你。這將是我的首要任務,因爲如果程序不能編譯或編譯,我不知道如何調試。

建議您嘗試一個「hello world」控制檯應用程序或類似的方法,看看您的調試是否適用。

如果您想深入瞭解這一點,可以瞭解更多細節。你可以包括目前爲止採取的一些步驟嗎?

+0

是的,它建立得很好,這對我來說是陌生的部分。儘管如此,我無法調試它,如果不能做到這一點,就不會做任何事情。我在編輯中添加了錯誤。根據Google的一些建議,我嘗試設置batch =「false」來修復「循環引用」問題,但這並沒有幫助。 – wmaynard

+0

同意在穩定工作區之前不做重大更改。可能是基本的,但你可以評論多少,所以你能夠「繞過」這些錯誤?或者這是否有所作爲? (這是偶然的SharePoint?) – Elsa

+0

我可能已經評論了大約35條線,試圖讓這一切工作和不同的錯誤,然後繼續彈出 - 它實際上似乎使情況更糟糕,評論出大多數的違規行。對我來說最奇怪的部分是,儘管被註釋掉了,但特別是,一行仍繼續發生錯誤。 – wmaynard

0

看來你的項目有很多對組織定義的DLL等的引用。如果它說***缺少使用指令或程序集引用?那麼它看起來像你的機器的GAC或你的項目可能缺少一些引用(可能是組織標準),默認情況下,其他人的機器上已經安裝了這些組件。

+0

據我所知,我們的承包商正在使用遠程桌面進行所有的開發 - 我們只允許從網絡中訪問我們的數據庫,所以我認爲他們不可能有不同的環境設置。我可能是錯的,所以我會研究它。 – wmaynard

+0

我也習慣使用遠程桌面或思傑。如果我收到某人的二手機器,我們就安裝了一些組織組件,但是如果我提供了一個新構建的機器,那麼我將不得不按照安裝這些組件的過程去做。 – Guanxi

+0

我剛剛確認是的,我們的承包商是隻使用遠程桌面訪問我們的開發環境。如果是這樣的話,就不應該有我需要安裝的東西。當我遠程進入時,我得到了與他們完全相同的設置,但我仍然無法做任何事情。 – wmaynard

0

sflancer06 -

如果我理解正確的話,你可以不開始調試 ...但你不能調試 ...是正確的?

是否有可能您有額外文件?

當人們重新命名一個文件(default.aspx.cs變成default.aspx.old)時,我自己也經歷了巨大的悲痛,但實際上並沒有將它移除或從項目中排除它。

(即有時候,你有兩個文件具有相同的類名。)

您使用的Web站點或Web應用程序?

你確定你有一個'乾淨'的項目/解決方案嗎?

問候,

格倫ĴFergo

+0

我能夠構建得很好 - 但我無法調試。該解決方案由一個網站和幾個項目組成,我沒有看到任何懶惰的備份(例如default.aspx.old),因爲我們確實設置了SVN。 – wmaynard

2

你試過重建在調試模式下整個解決方案?你應該在那裏看到這些錯誤。

這些錯誤中的每一個都有多個原因。我的建議是將每一個分開研究。一種解決方案通常會解決其他問題。


的第一個錯誤:

'*tools_master' does not contain a definition for 'btnSave_onClick' and no extension method 'btnSave_onClick' accepting a first argument of type '*tools_master' could be found (are you missing a using directive or an assembly reference?) | *tools.master

母版頁可能會非常棘手。嘗試刪除按鈕並重新添加。 也請嘗試檢查Page指令的Codebehind和MasterPageFile屬性。例如,

<%@ Page Title="" Language="C#" MasterPageFile="~/PageTemplate.Master" 
AutoEventWireup="true" CodeBehind="NewTransport.aspx.cs" 
Inherits="ASPDU1.NewTransport" %> 

第2和第3個錯誤:

Circular file references are not allowed. | *\App_Master\Account.Master Could not load type '*AddressDisplay'. | *AddressDisplay.ascx

這通常當你有一個母版頁上的用戶控件發生。在StackOverflow本身上的Numerous suggestions


第四錯誤:

Unknown server tag '*:LeftNav'. | App_MasterHome*.Master

這通常意味着你沒有一個.NET組件或安裝第三方.NET庫。你在使用Sharepoint或Telerik控件嗎?

+0

我現在就開始研究這些。至於第四個錯誤 - 我們最初的開發者(與我們沒有良好的關係)使用專有庫創建了我們的應用程序,所以這就是第三方庫的地方。我的一項任務實際上是重寫儘可能多的功能,以減少對我們無法訪問的來源的依賴。 – wmaynard

0

如果你不能讓你的項目建立起來,你將會處於劣勢。以前一直處於這種情況下,我會建議你和你的顧問合作,讓你進入一個你的項目成功建立的狀態。他們會熟悉項目中的細微差別,以便建立它。

由於問題的根源(我的教育猜測)是要麼缺少項目中的程序集引用,要麼沒有最新版本的源代碼,因此將行標記爲紅色鯡魚。與您的同事/顧問一起工作是解決問題的最佳方式。

只有當您完全瞭解應用程序的工作方式後,才能開始替換功能。雖然這本身不是一個解決方案,但它可能是您可以聽到的最佳答案,因爲它會讓您前進。

祝你好運!