原创 dotnet core 2 使用 DispatchProxy 做動態代理 AOP 入門

本文簡單告訴大家如何在 .NET Core 裏面使用 AOP 切面編程,使用 DispatchProxy 做任意接口的動態代理實現 使用 DispatchProxy 有一些限制,如只能創建接口的實例。使用 DispatchProxy 可以

原创 Xamarin Forms 4.7 支持更簡化的 Grid 行列布局寫法

儘管非官方提供的 Grid 行列簡化版本特別多,但是在最近這樣的簡寫方法才被合併到了主倉庫。整個 Xamarin Forms 都是開源的,任何小夥伴都可以發佈自己的私有版本。也因此有很多有趣的小夥伴說,我這麼好的功能就是不想放在官方,我只

原创 VisualStudio 解決首次調試 docker 的 vs2017u5 exists, deleting 太慢問題

首次調試需要下載一些有趣的內容用於輔助調試,這部分內容大概有 100 多 M 在 VS 裏面需要在半天。本文告訴大家如何在外面使用其他強大的下載工具下載完成之後複製回去 本文特別參考了 visual studio 容器工具首次加載太慢 v

原创 聊聊 2020 的 dotnet 各大開源項目倉庫的情況

現在是 2020.06.21 我來聊聊我所關注的 dotnet 的幾個大開源項目的活躍以及定位情況。包括 WPF 和 WinForms 和 Xamarin 和 ASP.NET Core 和 Blazor 倉庫 沒有被點名的倉庫不代表不活躍

原创 dotnet 使用完全對象引用相等判斷

默認在列表以及字典哈希這些都會先看對象是否有自己實現的等於判斷,如果有就調用對象的。因此對象可以做到兩個不同的對象返回相等。而如果需要判斷對象引用相等,也就是隻有相同的對象才返回相等,此時需要用到 ReferenceEquals 方法。這

原创 C# dotnet 使用 OpenXml 解析 PPT 元素的座標和寬度高度

在閱讀本文之前,我期望你能瞭解基礎的 PPT 解析內容,或看我的入門級博客。本文將告訴大家如何從 PPT 裏面解析出通用元素的 x 和 y 的值,以及元素的寬度和高度的值 在開始之前請看 C# dotnet 使用 OpenXml 解析 P

原创 WPF 開機啓動因爲觸摸初始化鎖住界面顯示

現象是設置 WPF 開機啓動的時候,概率界面不顯示,進程已經起來,同時佔用內存極小。通過 dump 或附加調試可以看到主進程帶等待觸摸線程的迴應 在我的某個有趣的設備上,這個設備開機啓動的時候將會比較慢初始化完成 USB 設備,或者說是

原创 WPF 附加屬性提供某個元素擁有拖拽窗口的功能

我需要窗口內的某個元素擁有拖動整個窗口的功能,也就是這個元素在拖動的時候是拖動整個窗口。而且我還開出一個有趣的方法,這個作爲窗口的拖拽的元素如果是用戶在元素上拖動,那麼將會拖動窗口,如果用戶是點擊,將會觸發點擊事件 附加屬性可以給某個元素

原创 WPF 兩個 Topmost 的窗口如何設置誰在最上方

我需要有兩個層級最高的窗口,但是要求某個窗口在另一個的上方,同時這兩個窗口在所有其他的應用程序窗口的上方 需要用到 SetWindowLong 的 win32 方法的設置,假設我有 A 和 B 兩個窗口,我需要讓這兩個窗口都是 Topmo

原创 msbuild 修改 VisualStudio 文件複製到輸出目錄的路徑

在默認的 VisualStudio 可以右擊任意的文件,讓這個文件在編譯時複製到輸出目錄,但是這個選項將會在複製到輸出目錄時帶上這個文件所在 VisualStudio 的文件夾結構。本文告訴大家幾個方法讓 VisualStudio 的文件

原创 dotnet 用 NuGet 將自己的工具作爲 dotnet tool 分發

我寫了一個有趣的工具,我如何將這個工具給到小夥伴予力衆生呢?只需要設定這個工具是 dotnet tool 工具就可以通過 NuGet 分發出去啦。幾乎所有的 dotnet 開發者都能用上 NuGet 服務,也就是此工具可以被幾乎所有的 d

原创 Xamarin 解決創建空白項目編譯提示 linking references 找不到資源

在新建一個 Xamarin 應用,編譯時提示了 linking references 和一些詭異的文件無法訪問,原因是文件路徑問題和 NuGet 還原問題 如果創建的 Xamarin 項目所在的文件路徑比較深,同時包含中文等字符時,在編譯

原创 asp dotnet core 不正經的提升效率的單元測試方法

在寫 asp dotnet core 時,如果沒有單元測試保證,需要每個方法都從 web api 的入口開始運行,此時的執行效率是很低的。而如果寫單元測試,又有一個坑的問題是寫單元測試也是需要時間的。本文告訴大家一些提高效率的方法,這些方

原创 Roslyn 禁止 sdk style csproj 默認引用 Compile 代碼文件

默認在 SDK Style 的 csproj 文件將會引用所有的 .cs 文件到 Compile 項,如果是 WPF 項目還會添加 xaml 的引用。如果想要自己手動設置,讓一些項不默認引用,需要添加屬性 EnableDefaultCom

原创 Roslyn 如何瞭解某個項目在 msbuild 中所有用到的屬性以及構建過程

使用 SDK Style 格式的 csproj 十分簡化,但是實際上的構建過程需要用到超級多的邏輯,那麼如何知道在 msbuild 所使用的構建過程有哪些,定義了那些屬性。有那些 target 文件參與了這個項目構建 本文告訴大家一個方法