2016-04-15 20 views
1

我在寫一個使用ASP.NET的小型網站,直接將C#寫入.aspx文件,而不使用代碼隱藏或編譯DLL。我這樣做主要是爲了只使用文本編輯器進行小的編輯,而不必繼續回到Visual Studio。我可以在不編譯DLL的情況下在ASP.NET網站中編寫一個類嗎?

這是工作很好,除了我想編寫一些代碼將被多個.aspx頁面使用的類。有沒有一種方法可以添加.cs文件,就像我在.aspx文件中使用C#代碼一樣?

+1

如果你使用網站,你不需要編譯它在dll –

+0

即使你在一個網站,如果你添加一個c#類,你必須建立它。如果你不想使用visual studio,你可以使用命令行來完成。 https://msdn.microsoft.com/en-us/library/78f4aasd.aspx – MNF

回答

0

好問題。

我假設你在Visual Studio中有一個「網站」。如果沒有,那麼也許你應該投入時間來創建一個新的網站並將網頁遷移到它。然後發佈它,這將使事情變得更容易。你在這裏描述的問題將被解決,加上其他的東西。如果您在Visual Studio之外修改網站,那麼這可能也是一個問題。我是初學者,但你可能直接打開網站進行編輯。我不確定。

我很好奇如何做你所問的,所以我探討了。

無論如何,假設您已經在Visual Studio中有一個Web站點,請使用「WebSite」| 「添加新項目」添加一個類。 VS會問你是否要創建一個APP_CODE,說是的。 cs文件不會有命名空間,該類將位於全局命名空間中。

當我得到那麼遠時,我能夠使用VS來測試使用該類的頁面。當我複製源代碼時,IIS說它找不到該類。所以請確保APP_CODE目錄位於網站的根目錄中。這可能還不夠,所以我們會繼續。

我發表了這個網站。發佈的網站工作,它找到了類。我無法弄清楚發佈的網站和我複製的內容之間的區別。所以我研究了發佈的輸出,我發現它正在創建虛擬目錄並添加ACL。

我認爲這是訣竅。首先確保APP_CODE目錄位於網站的根目錄下。然後進入IIS管理器並找到該網站。右鍵單擊並選擇「轉換爲應用程序」。當我這樣做時,我剛剛複製的文件就起作用了。

如果您使用Visual Studio發佈網站,那麼它會爲您做到這一點。你只需要做一次。

我嘗試了一些其他的東西,所以可能有其他的東西我做了這是必要的,但我不這麼認爲。

+0

謝謝,我將有一個實驗。唉,我使用共享主機服務,他們只給我一個FTP文件夾,而不是訪問IIS。我希望在服務器上擁有C#代碼的主要原因是我沒有任何地方的VS。這是一個快速和骯髒的網站,爲一個技術性的但不是編程的朋友設置。 C#中有關於如何進行未來定製的說明。 – billpg

+0

這個技巧。我在網站根文件夾中創建了一個名爲App_Code的文件夾,並在其中放置了一些.cs文件。 ASPX文件中的C#能夠愉快地調用和與類交互。謝謝! – billpg

+0

好。大多數託管服務(如GoDaddy)都提供FTP訪問。我花了很長時間才明白FTP是正常的。 Front Page Extensions是古老的,我們不需要這樣的東西。通常有一種類型的控制面板允許我們以任何適用於我們網站的方式修改IIS。 – user34660

0

添加像在你的.aspx文件的頂部以下 -

<%@ Import namespace = "mydll" %> 

這將確保類是標誌式訪問,假設方法和屬性等的設置是如此。

但是,對dll所做的任何更改仍然需要您在VS中進行編輯和構建。

相關問題