2016-04-14 16 views
2

'dan sunulmakta olan bir C# dosyasına bir sınıf dahil etme Herhangi bir ide olmadan basit bir API oluşturuyorum. Web sitemin kökünde üç dosya var.Otomatik IIS

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"; 
     } 
    } 
} 

Benim sorunum bu yükleme default.aspx, bu haklı değil edilir TechStreet ad alanını tanıdığı için, dosyanın nerede olduğunu asla söylemem. Bunu doğru bir şekilde anlarsam, bu dosyaları birlikte derlemem veya default.cs derlediğimde database.dll dosyasına bir başvuru sağlamam gerekir. Ama asla default.cs derlemedim. Sayfa ilk yüklendiğinde otomatik olarak derlenir.

Başka bir çözüm, database.cs dosyasını derlemek ve/bin/dizinine koymaktır. Ama dosyada her değişiklik yaptığımda bunu yapmak zorunda kalacağım.

Benim sorum şu ki, kendisini derlediğinde database.cs dosyasını otomatik olarak derlemek ve bunlara başvurmak için "tell" default.cs komutunun herhangi bir yolu var mı?

+2

Database.class.cs dosyanızı App_Code dizininde depolamayı denediniz mi? – schudel

+0

Anlamadım ... Yukarıda belirtilen tüm dosyalar derlendiğinde aynı dll'de (veya extarnal dll'nin referansları var mıdır?)? Değilse, bu satırı yapın, Response.Write (Database.Query ("SELECT * FROM users", yeni String [0])), 'gerçekten derleme? –

+0

@schudel bu kadardı! Teşekkürler! Bunu bir cevap olarak ekleyebilirsen kabul edeceğim. – Achshar

cevap

2

Database.class.cs dosyasını App_Code dizinine taşıyın.