C#各項雜項筆記
● Q. 開發C#執行檔,選哪種專案類型?
● A. 如圖

● Q. 開發C#執行檔,裡面有個vba資料夾放置會用到的巨集程式(.xlam),結果更新其檔案後,執行跑出錯誤。
● A. 在Visual Studio中,在方案總管裡,顯示隱藏的資料夾,將vba資料夾加入至專案,然後點選其巨集程式的屬性,將「複製到輸出目錄」改為「一律複製」,這樣bin\Debug裡的vba資料夾才會一起更新~
補充. 到時佈署到主機時,要有至少下面三個:
1. vba folder
2. .dll
3. .exe
● Q.如何套用nuget 在公司不開放直接visual stduio下載的狀況下,以下以 dapper為例
● A. 說明如下:
- D槽建個 DLL \ nuget資料夾
- 網頁(https://www.nuget.org/packages/Dapper/)右側download > download package,放入 1.
- 回到visual studio,在要引用的專案裡,工具> nuget套件管理員 > 套件來源 > 新增一個來源是來自 D:\DLL\nuget 并勾選這個新來源
- 工具 > nuget套件管理員 > 管理方案的nuget套件 > 勾選Dapper
- 去 方案總管 看一下 參考,就可以看到 Dapper
● Q.有些程式碼希望在DEBUG模式執行,有些希望在Release模式執行,可以怎麼辦?
● A. 可以運用 #if DEBUG - #else - #endif
//以下為例,file要接第一個參數,但測試時,想先寫個測試file路徑時,可以這樣寫。
string file;
#if DEBUG
file = "D:\\Lisa\\excel.xlsx";
#else
file = args[0];
#endif● Q. 建立Class時,有需要建立List<string>時,需在哪寫new?
● A. Class_CataTable.cs 如下
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace myNamespace
{
internal class Class_Table
{
public int Id { get; set; }
public string col1 { get; set; }
public string col2 { get; set; }
public string col3 { get; set; }
public List<string> listCol { get; set; }
//可以直接寫在class裡面,創建一物件時,就new好listCol
public Class_Table()
{
listCol = new List<string>();
}
}
}