Shared Project v.s. Class Library Project

 

一、範例準備

準備一個空的 solution 好方便後續 Demo

 

1、create Class Library Project

 

 

 

ClassLibrary.cs 內容如下

namespace ClassLibrary1
{
    public static class ClassLibrary
    {
        public static string Show()
        {
            return "ClassLibrary";
        }
    }
}

 

2、create Shared Project

 

 

SharedProject.cs 內容如下

using System;
using System.Collections.Generic;
using System.Text;

namespace SharedProject1
{
    public static class SharedProject
    {
        public static string Show()
        {
            return "SharedProject";
        }
    }
}

 

3、create Console App

 

 

二、use Shared Project and Class Library Project

1、使用 ClassLibrary 元件

add reference 方法之一

add reference 方法之二

當 build 完後,Class Library 會產生 .dll 檔,

所以第二種方法 add reference 也可以使用以下方式加入

 

記得設好 ConsoleApp1 為 StartUp Project

 

Program.cs 內容改成如下

using System;
using ClassLibrary1;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(ClassLibrary.Show());
            Console.ReadKey();
        }
    }
}

 

執行結果成功使用 Class Library

 

在 Debug 資料夾會發現 ClassLibrary1.dll 檔

 

2、使用 Shared Project

承上,

 

Program.cs 內容改成如下

using System;
using ClassLibrary1;
using SharedProject1;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            //Console.WriteLine(ClassLibrary.Show());
            Console.WriteLine(SharedProject.Show());
            Console.ReadKey();
        }
    }
}

 

執行結果成功引用 Shared Project

 

在沒有加入 Class Library 參考時,

在 Debug 資料夾不會有其他 .dll 檔

 

三、the feature of Shared Project and Class Library Project

Class Library Project 可用來製作 .dll 檔讓其他專案使用。

Shared Project 它可以在同一個 Project 裏頭包含許多種類型的程式碼,類如:Typescript, Javascript, C#, VB, XAML, HTML…等。