2016-08-02 63 views
0

我正在ASP.NET網站上工作,並且作爲網站的一部分,我創建了一個名爲Global.cs的文件,該文件用於保存所有我的幫助程序類。然而,不幸的是,我經常收到錯誤,說在編譯這個文件時出現了問題。文件內的所有類都包含在單個命名空間 - 「全局」中。將.cs文件添加到ASP網站項目

當使用它「內聯」,例如。 Global.SomeStaticClass.Method():

描述:編譯服務此請求所需的資源時發生錯誤。請查看以下具體的錯誤細節並適當修改您的源代碼。

編譯器錯誤消息:CS0103: '全局' 的名稱在當前上下文中不存在

當使用 「使用Global;」指令:

描述:編譯服務此請求所需資源時發生錯誤。請查看以下具體的錯誤細節並適當修改您的源代碼。

編譯器錯誤信息:CS0246:類型或命名空間名稱「全球」找不到(?是否缺少using指令或程序集引用)

正如在許多崗位的建議,我想包括我的項目的App_Code文件夾中的類和名稱空間「Global」由Visual Studio檢測到(添加「using Global;」指令或使用內聯的「Global.Class.Method()」時無錯誤。 ,當我嘗試訪問瀏覽器頁面時,它仍然失敗。

+0

就在你的文件生成操作正確設置爲「編譯」? –

+0

我選中了此文件並沒有Build Action屬性。 – zryw141

+0

應該有。也許你應該嘗試添加一個新的源代碼文件到你的項目中,並將內容複製到新文件中。 一般性建議:如果由於任何特定原因而不需要它,通常認爲將多個類放在具有單個名稱空間的單個文件中是一種不好的做法。你爲什麼這樣做? –

回答

0

我找不到解決我的問題的簡單方法,並決定最簡單和最有效的方法我的解決方案將是將我的網站項目轉換爲Web應用程序項目。您可以閱讀如何將您的網站轉換爲Web應用程序:https://blogs.msdn.microsoft.com/webdev/2009/10/29/converting-a-web-site-project-to-a-web-application-project/

將項目轉換爲Web應用程序後,我可以在將它們編譯到DLL庫後附加我的類文件,因爲它不接受任何未編譯通過拋出異常,在App_Code文件夾內的文件。

由於預編譯了應用程序,因此不允許使用目錄'/ website/App_Code /'。

如果遇到同樣的問題,你可以學習如何使用開發人員命令提示符這裏編譯C#文件:https://msdn.microsoft.com/en-us/library/78f4aasd.aspx