2014-02-17 110 views
18

我改名爲我的項目,它之前會進行編譯,但是當我做了一些改變它停止由於某種原因,工作編譯器錯誤信息:CS0246:當我重新命名的項目

誤差

Compiler Error Message: CS0246: The type or namespace name 'Lab4' could not be found (are you missing a using directive or an assembly reference?) 

我由從Lab4的模板創建一個新項目,並重新命名爲lab5以下步驟這裏

http://petermcintyre.com/topics/using-an-app-as-a-template-asp-net-mvc/

我找到了源文件

Line 28:  using Lab4; 
Line 29:  
Line 30:  

Source File: c:\Users\Albert\AppData\Local\Temp\Temporary ASP.NET Files\root\4b806faf\de1f1e7\App_Web_index.cshtml.a8d08dba.c_hu0onk.0.cs Line: 28 
的是

,但是當我試圖改變使用Lab4的到lab5並重新編譯它,同樣的錯誤發生,該文件被刪除,新的人會使用相同的Lab4問題上做出。

有誰知道答案?

回答

3

這可能是您重命名時VS尚未更新的引用/路徑。它很快而且很髒,但是如果對舊項目名稱的解決方案文件夾運行Grep並將其替換爲新的,然後在VS中重新打開並編譯,它應該可以解決您的問題。

+0

我在解決方案資源管理器中進行了cntrl h搜索,嘗試將lab4替換爲lab5,但它沒有找到任何可以找到的東西 – user2981393

+1

退出VS後,它將忽略解決方案中的許多元文件。你想要做的是在整個文件夾(包括系統/隱藏文件)中grep舊的項目名稱,然後打開它在記事本中找到並手動更改。只有一旦你完成了,你應該重新打開並編譯VS. NB。總是先備份解決方案 –

+0

如果您不熟悉Grep然後Google是BareGrep,這是一個小程序,使用起來非常簡單,您不需要說明即可獲得雙倍的幫助。 –

40

在Visual Studio中創建項目時,它會自動將其原有的命名空間\Views\web.config

<system.web.webPages.razor> 
    <pages pageBaseType="System.Web.Mvc.WebViewPage"> 
     <namespaces> 
      ... 
      ... 
      ... 
      <add namespace="OriginalProjectNamespace" /> 
     </namespaces> 
    </pages> 
</system.web.webPages.razor> 

重命名的項目或更改其默認命名空間後,您必須手動更改該文件中。

+0

對於您可能已設置的其他區域中的web.config文件,這也是如此。 – murraybiscuit