2016-04-14 61 views
2

我正在製作一個沒有任何ide的簡單api。我的網站根目錄中有三個文件。Auto在IIS中提供的C#文件中包含一個類

的Default.aspx

<%@ Page Language="C#" src="default.cs" inherits="foo" %> 

default.cs

using System; 
using System.Web; 
using System.Web.UI; 
using TechStreet; 

using MySql.Data.MySqlClient; 

public class foo : Page { 
    protected void Page_Load(object sender, EventArgs e) { 
     Response.Write(Database.Query("SELECT * FROM users", new String[0])); 
    } 
} 

Database.class.cs

namespace TechStreet { 
    public class Database { 
     public static string Query(string query, string[] parameters) { 
      return "done"; 
     } 
    } 
} 

我的問題是,加載Default.aspx的,它理所當然地不識別TechStreet命名空間是因爲我從不告訴他們文件在哪裏。如果我正確理解這個,那麼我需要將這兩個文件一起編譯,或者在編譯default.cs時提供對database.dll的引用。但我從不編譯default.cs。它在第一次加載頁面時自動編譯。

另一種解決方法是編譯database.cs並將其放入/ bin /中。但每當我對文件進行更改時,我都必須這樣做。

所以我的問題是,有什麼辦法「告訴」default.cs也自動編譯和引用database.cs當它編譯自己?

+2

您是否嘗試將您的Database.class.cs存儲在App_Code目錄中? – schudel

+0

我不明白...上面提到的所有文件都駐留在相同的DLL編譯時(或有任何引用extarnal DLL的?)?如果沒有,做這一行,'Response.Write(Database.Query(「SELECT * FROM users」,new String [0]));',真的編譯? –

+0

@schudel就是這樣!謝謝!如果你可以添加這個答案,我會接受它。 – Achshar

回答

2

將Database.class.cs移到App_Code目錄中。