遇到了一個很奇葩的問題,Visual studio 編寫C#時提示:
“未能找到類型名稱或命名空間名稱XXX(是否缺少using指令或程式集引用)”
檢查了一下,
1、既不是我沒有這個類,
2、也不是我沒有寫“using xxx;”來引用命名空間,
3、更不是我引用了其他的.dll檔案,忘記添加引用,
4、最後絕無拼字錯誤。
實在是坑。檢查了很久。
最終發現原因是:
這個類沒有加入編譯,命名空間不生效。
解決方案:
開啟項目工程下的“welcome.csproj.user”檔案,“welcome”是項目名稱。
找到“”標籤,將找不到類型名稱或命名空間的類對應的檔案添加進去。
如 Pg pg = new Pg();
提示:
“未能找到類型名稱或命名空間名稱XXX(是否缺少using指令或程式集引用)”
找到Pg類對應的檔案“Program1.cs”,加入: <ItemGroup> <Compile Include="MainTest.cs" /> <Compile Include="Program1.cs" /> <Compile Include="Program2.cs" /> <Compile Include="Program3.cs" /> <Compile Include="ArrayTest.cs" /> <Compile Include="Properties\AssemblyInfo.cs" /> </ItemGroup>
然後儲存,重新整理,清理,重新構建,就行了(也許重新整理就好了)。
我很奇怪,vs為什麼沒有自動加入。也許我的項目有問題。
其實,建立一個檔案的時候,要從功能表列上的“項目”--“添加XX”,這樣建立的資源才會直接編譯到當前項目中,而從“檔案”--“建立”出來的東西不會直接加入到當前項目中,也會導致上訴問題的出現。
於是:
其實,這是代碼層所呈現的。其實,在Visual studio視圖層也可以解決。其實,點擊“項目”--“顯示所有檔案”,然後在解決方案管理器就能夠找到沒有加入編譯隊列的C#檔案,右擊它,選擇“包括在項目中(j)”。重新整理下就ok了。
end——