爲什麼 WPF 對 vcruntime140 有引用

經過閱讀 WPF 官方開源倉庫的代碼和文檔,能夠了解到在進行獨立發佈的時候會在倉庫裏面帶上 vcruntime140 的緣由框架

在獨立發佈的時候,能夠在倉庫裏面找到 vcruntime140.dll 這個文件code

這是由於 WPF 框架用到了兩個使用 C++\CLI 的項目,分別是 DirectWriteForwarder.dllSystem.Printing.dll文檔

這兩個庫在進行發佈的時候須要引用 vcruntime140.dll 這個文件,若是進行 Debug 下發布的時候須要引用 vcruntime140d.dll 文件it

若是不將這個文件帶入獨立發佈的文件裏面,那麼將要求用戶去安裝 VC 的運行時,這個將會帶來一個神坑,就是 C++ 環境問題。而這裏的 WPF 只是須要這個文件而已,因此在獨立發佈的時候將帶上這個文件,此時用戶端就無需安裝 VC 運行時引用

由於默認的 vcruntime140.dll 會在應用程序運行的時候根據環境的不一樣會有選擇衝突,同時若是有依賴某些有趣的庫,這些庫也許對 vc 運行時也有依賴,可是 WPF 用的版本也許和引用的庫是不相同的,爲了減小這部分的衝突,微軟更名部將重寫分發的vcruntime140.dll 修改成 vcruntime140_cor3.dll 也就是實際發佈的時候看到的文件bug

相關文章
相關標籤/搜索