私はideを使わずに簡単なAPIを作成しています。私は自分のウェブサイトのルートに3つのファイルを持っています。自動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をコンパイルすることはありません。ページが最初に読み込まれると自動的にコンパイルされます。
もう1つの解決方法は、database.csをコンパイルして/ bin /に入れることです。しかし、私はファイルを変更するたびにこれを行う必要があります。
私の質問は、自動的にコンパイルし、自身をコンパイルするときにdatabase.csを参照するようにdefault.csに指示する方法はありますか?
あなたはDatabase.class.csをApp_Codeディレクトリに保存しようとしましたか? – schudel
私はそれを得ることはできません...上記のすべてのファイルは、コンパイル時に同じDLLに存在するか(またはextarnal dllの参照がありますか?)??そうでなければ、この行を行います。 'Response.Write(Database.Query(" SELECT * FROM users "、new String [0]));、実際にコンパイルしますか? –
@schudelそれでした!ありがとう!それを答えとして加えることができれば、私はそれを受け入れます。 – Achshar