3

在清潔之前,一切都正確無誤,我能夠在一整天內做出重大改變/重建。我決定「清理解決方案」,並立即打破一切。對命名空間的任何引用找不到,如以下錯誤:爲什麼我的Visual Studio 2010 Silverlight解決方案徹底打破「清潔」?

The type or namespace name '(insert_name)' could not be found (are you missing a using directive or an assembly reference?

在該方案中,它佔了631個錯誤。沒有重建/建築組合似乎修復它。我很難在網上找到很多關於這方面的內容,因此我想我會在這裏發佈看看有沒有人有想法。

也可能值得注意的是,這個解決方案只是從同事的複製到我的機器,所以它可能有什麼關係?雖然,它在清潔之前建立得很完美。思考?

+2

從您的同事計算機複製的文件中可能存在一些依賴項,這些文件是通過清理解決方案而被刪除的。 –

+0

對,我只是覺得很奇怪,我可以在一天中做出改變而沒有任何破壞。我有整個項目文件夾,包含所有庫引用等等。也許文件路徑或類似的差異? – aeternus828

+0

可能;顯然我只能推測。我調試這種問題的方法是再次進行完整構建,並查看原始輸出日誌。找到出現的第一個錯誤,並修復它。然後重建並重復。通常你會看到一個或兩個導致所有其他問題的錯誤。 –

回答

1

我看到了以下可能性:

  • ,你必須使用絕對路徑是一臺機器,而不是其他的有效庫提供一些參考。例如,您使用Silverlight Toolkit,並且它沒有安裝在兩臺計算機上,或者其中一臺計算機是32位,另一臺計算機是64位,並且只能在x64上獲得Program Files(x86)。

  • 您有一些對使用在一臺機器上有效而在另一臺機器上有效的相對路徑的庫的引用。例如,您有X:\ Work \ Project \ Project.sln,它使用.. \ .. \ Tools \ Library.dll引用X:\ Work \ Tools \ Library.dll,而另一臺機器在X:\ Work中\工具\ SomeLib \ Library.dll。

在這兩種情況下,您都會看到一個'root'錯誤,指示找不到庫的DLL。有時,查看輸出窗口而不是錯誤窗口可以更容易地發現。

+0

只需對此進行跟蹤......奇怪的是,我再次複製了相同的項目文件夾,內置並運行良好。然後我沒有錯誤地清理,建立並無誤地運行。當我開始重新應用我前幾天做出的更改時,我會定期清理以查看解決方案突破的位置 – aeternus828

+0

也許此次不會中斷:) – jv42

+0

回到此處......從未找到確切的原因災難性的破解解決方案,但無法用新的副本重新創建。 – aeternus828

相關問題