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…等。