LoginSignup
2
4

More than 5 years have passed since last update.

C#のdllを呼び出す為に、テキストエディタでできる程度でASP.netページを用意する

Posted at

普段、ASP.netを使っていないWebシステムで、C#のdllを呼び出す必要が出てきたけど、VisualStudioを使うほどではないので、テキストエディタでできる範囲でasp.netページを作った話。

Javaだと、JNIでJavaからC++を経由してC#を呼び出すことはできるみたいだけれども、動作保証外になりそうだしそこまでしたくはない。
Javaから呼び出すだけとは限らないので、使ったことないけど、そこだけasp.netページにしようと思った。

幸い、Windows、IISサーバは使えるけど、VisualStudioまで用意するのはメンドくさい。テキストエディタだけで動かしたい。
最近は、ASP.NET Coreらしいけど、NET Frameworkをサポートしていなくて,nugetから使う必要があるとのことでメンドくさい。
ASP.NET Coreに、手持ちのライブラリを参照させる(1)
1ページだけ動けばいいので、ASP.net MVCのことは考えない。
ASP.NETからASP.NET Coreに移行した話

1ファイルだけで直接出力する場合

test1.aspx

<%@ Page Language="C#" %>

<html>

     <head id="Head1" runat="server">

          <title></title>

     </head>


     <body>

          <form id="form1" runat="server">

               <h3>

                    <%="Hello World" %>

               </h3>

          </form>

     </body>

</html>




1ファイルだけで、コード部分とHTMLを分離して特定のしたラベルに出力する場合

test2.aspx

<%@ Page Language="C#" %>

<script runat="server">

 protected void Page_Load(Object source, EventArgs e) {

     MyLabel.Text = "Hello World!";

 }

</script>

<HTML>

<BODY>

 <asp:Label runat="server" id="MyLabel" />

</BODY>

</HTML>

HTML部分とコード部分を2ファイルにわける場合

呼び出したいdllは実行ファイルと同じディレクトリにbinフォルダを作ってその中に入れる。

test3.aspx


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test3.aspx.cs" Inherits="test3.CodeFile" %>

<!DOCTYPE html>



<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <title></title>

</head>

<body>

    <form id="form1" runat="server">

        <div>

            <asp:Label ID="lbl" runat="server" Text="default" />

        </div>

    </form>

</body>

</html>

test3.aspx.cs


using System;

using System.IO;

using XXX.xxx; // 呼び出したい dllの名前空間

namespace test3 {

    public partial class CodeFile : System.Web.UI.Page {

        protected void Page_Load(object sender, EventArgs e) {

            XXXXX xx = new XXXXX(); // 呼び出したいdllの呼び出し情報

            lbl.Text = "Hello World!";


        }
    }

}


2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4