亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

devenv 如何識(shí)別 vcxproj:Visual Studio 項(xiàng)目系統(tǒng)與 MSBuild 內(nèi)部機(jī)制解析

devenv 如何識(shí)別 vcxproj:Visual Studio 項(xiàng)目系統(tǒng)與 MSBuild 內(nèi)部機(jī)制解析 在 VS2017 的使用周期里應(yīng)該有不少人做過這樣的事打開命令行敲一句devenv MyProject.vcxproj然后看著 Visual Studio 的界面刷一下蹦出來項(xiàng)目被掛到了解決方案資源管理器里。如果你再狠一點(diǎn)輸入devenv MyProject.vcxproj /Build構(gòu)建居然也能正常跑。這時(shí)很多人就會(huì)冒出那個(gè)經(jīng)典疑問devenv 明明只是一個(gè) IDE 的啟動(dòng)入口它憑什么能認(rèn)一個(gè) .vcxproj 項(xiàng)目文件這背后到底是文件關(guān)聯(lián)的魔法還是 Visual Studio 內(nèi)部藏著一套更深的識(shí)別機(jī)制我當(dāng)年第一次認(rèn)真面對(duì)這個(gè)問題是在幫同事排查 CI 構(gòu)建腳本的時(shí)候。腳本里混用了 msbuild 和 devenv兩邊對(duì)同一個(gè) vcxproj 的處理結(jié)果居然不一樣于是我只能一層層往下翻源碼文檔和注冊(cè)表。翻完之后發(fā)現(xiàn)答案并不神秘.vcxproj 本身就是 MSBuild 項(xiàng)目文件而 devenv 的進(jìn)程里就嵌著 MSBuild 引擎再加上 Visual Studio 項(xiàng)目系統(tǒng)的注冊(cè)項(xiàng)這一整套鏈路才讓 devenv 能順理成章地接住vcxproj。這篇文章就把這條鏈路從頭到尾拆開講順便帶上我實(shí)際驗(yàn)證過的命令和踩坑記錄。不管你是剛接觸 VS2017 的 C 新手還是天天跟構(gòu)建腳本打交道的工程效能同學(xué)應(yīng)該都能拿到點(diǎn)能直接用的東西。1. 先搞清楚 devenv 的真實(shí)身份1.1 devenv 不是編譯器它是個(gè)IDE 宿主進(jìn)程很多人會(huì)把devenv.exe當(dāng)成一個(gè)能編譯的編譯器命令行工具這個(gè)理解其實(shí)跑偏了。devenv.exe是 Visual Studio IDE 的進(jìn)程宿主它的職責(zé)是拉起一整套開發(fā)環(huán)境加載擴(kuò)展包Package、初始化菜單和工具欄、恢復(fù)上次的窗口布局、創(chuàng)建解決方案模型再把編輯器、調(diào)試器、項(xiàng)目系統(tǒng)這些組件串起來。真正干編譯活的是項(xiàng)目系統(tǒng)拿到 MSBuild 引擎之后調(diào)用的cl.exe、link.exe、rc.exe這些底層工具。這里可以打一個(gè)不夠嚴(yán)謹(jǐn)?shù)芎枚谋确絛evenv 就像一個(gè)酒店的大堂經(jīng)理它負(fù)責(zé)接待、分配房間、協(xié)調(diào)服務(wù)但真正做飯的是后廚編譯器。你丟給大堂經(jīng)理一張菜單vcxproj他知道該把這張菜單轉(zhuǎn)到哪個(gè)后廚但他自己是不下鍋的。這個(gè)稱呼也能解釋很多歷史devenv 全稱是 Developer Environment從 Visual Studio .NET 時(shí)代一直用到現(xiàn)在。也就是說無論你從開始菜單圖標(biāo)進(jìn) VS還是雙擊 .vcxproj又或者在命令行里手動(dòng)敲最終進(jìn)入的都是這個(gè)主進(jìn)程只是入口參數(shù)不一樣。1.2 雙擊文件與命令行傳參走的是兩條路先區(qū)分兩個(gè)場(chǎng)景不然下面講機(jī)制時(shí)容易混。場(chǎng)景 A你在資源管理器里雙擊一個(gè) .vcxproj。這個(gè)時(shí)候是 Windows Shell 在起作用。系統(tǒng)去注冊(cè)表查 .vcxproj 擴(kuò)展名關(guān)聯(lián)的 ProgID找到對(duì)應(yīng)的 Visual Studio 版本然后拼出一條類似devenv.exe %1的現(xiàn)代命令并執(zhí)行。所以雙擊的本質(zhì)還是 devenv只是 Shell 幫你套了一層打開方式的包裝。場(chǎng)景 B你在命令行或構(gòu)建腳本里顯式輸入devenv xxx.vcxproj。這個(gè)時(shí)候沒有 Shell 參與是你直接把參數(shù)交給了 devenv.exe。兩條路最終會(huì)匯到同一個(gè)地方devenv 進(jìn)程啟動(dòng)后對(duì)傳入的命令行參數(shù)做解析區(qū)分出這到底是文件路徑、解決方案路徑、構(gòu)建開關(guān)還是調(diào)試開關(guān)。關(guān)鍵點(diǎn)在于場(chǎng)景 A 依賴的是系統(tǒng)注冊(cè)表里的文件關(guān)聯(lián)而場(chǎng)景 B 不依賴文件關(guān)聯(lián)它靠的是 devenv 進(jìn)程內(nèi)部的輸入分類能力。那內(nèi)部是怎么分類的這就要說到 .vcxproj 的真正身份了。2. 核心答案.vcxproj 和 MSBuild 本來就是一家2.1 脫掉外殼.vcxproj 就是一份 XML 構(gòu)建腳本.vcxproj 文件雖然叫工程文件看起來也像一份私有格式的配置但打開一看你就明白了它就是一個(gè) XML 文檔。對(duì) MSBuild 引擎來說這個(gè) XML 就是一份完整的構(gòu)建腳本。根節(jié)點(diǎn)是Project里面定義了若干個(gè)PropertyGroup屬性組和ItemGroup項(xiàng)組還有可能出現(xiàn)的Target、Task定義。MSBuild 引擎讀取這個(gè)文件后會(huì)按照節(jié)點(diǎn)結(jié)構(gòu)生成一個(gè)執(zhí)行計(jì)劃然后一步一步調(diào)用具體的任務(wù)執(zhí)行器去完成編譯、鏈接、復(fù)制文件這些操作。我寫一個(gè)最小的 vcxproj 核心結(jié)構(gòu)給你感受一下Project DefaultTargetsBuild ToolsVersion15.0 xmlnshttp://schemas.microsoft.com/developer/msbuild/2003 ItemGroup LabelProjectConfigurations ProjectConfiguration IncludeDebug|Win32 ConfigurationDebug/Configuration PlatformWin32/Platform /ProjectConfiguration /ItemGroup ItemGroup ClCompile Includemain.cpp / /ItemGroup Import Project$(VCTargetsPath)\Microsoft.Cpp.Default.props / Import Project$(VCTargetsPath)\Microsoft.Cpp.props / Import Project$(VCTargetsPath)\Microsoft.Cpp.targets / /Project這三個(gè)Import特別關(guān)鍵它們把 Microsoft.Cpp 整套屬性、目標(biāo)文件都導(dǎo)了進(jìn)來而真正決定如何調(diào)用 cl.exe、怎么傳 /I、/D、/EHsc的邏輯就藏在這些 .props 和 .targets 文件里。所以 vcxproj 不是某種 Visual Studio 私有格式它是開放的 MSBuild 項(xiàng)目文件格式任何實(shí)現(xiàn)了 MSBuild 語義的程序都能消費(fèi)它。這也是為什么獨(dú)立的 msbuild.exe 命令行工具也能直接編譯 .vcxproj。2.2 從 vcproj 到 vcxproj一次歷史性的自洽老一點(diǎn)的開發(fā)者應(yīng)該記得VC6 和 VS2008 時(shí)代的 C 項(xiàng)目文件叫 .vcproj它是 VC 項(xiàng)目系統(tǒng)自己的私有格式只有 Visual Studio 的 VC 項(xiàng)目系統(tǒng)能完整讀取。那個(gè)時(shí)代的命令行構(gòu)建要么靠 vcbuild 命令要么只能在 IDE 里點(diǎn)鼠標(biāo)做自動(dòng)化構(gòu)建非常痛苦。從 VS2010 開始微軟把整個(gè)項(xiàng)目系統(tǒng)整合到 MSBuild 上C 項(xiàng)目格式也隨之升級(jí)成了 .vcxproj。這一改的意義特別大IDE 里看到的項(xiàng)目文件、命令行 msbuild 用的構(gòu)建腳本、CI 服務(wù)器上的自動(dòng)化流程第一次統(tǒng)一成了同一種格式?,F(xiàn)在你再看為什么 devenv 能接受 .vcxproj這個(gè)問題第一層答案已經(jīng)呼之欲出因?yàn)?.vcxproj 就是 MSBuild 項(xiàng)目文件而 deve nv 進(jìn)程內(nèi)嵌了 MSBuild 引擎。兩者本來就是一家的東西不存在跨格式識(shí)別的障礙。舊格式 .vcproj 到了 VS2017 雖然也能被打開但會(huì)彈升級(jí)向?qū)П举|(zhì)上就是要把舊項(xiàng)目轉(zhuǎn)換成新的 MSBuild 項(xiàng)目格式反而從側(cè)面印證了這條路。2.3 devenv 進(jìn)程里的 MSBuild 與獨(dú)立的 msbuild.exeVS2017 里devenv 在啟動(dòng)時(shí)會(huì)加載 Microsoft.Build.dll 等程序集并在進(jìn)程內(nèi)部創(chuàng)建 BuildManager、ProjectCollection 這些對(duì)象。也就是說你在 IDE 里按 F7 構(gòu)建和你在命令行里手動(dòng)敲 msbuild核心構(gòu)建邏輯使用的是同一套引擎。你甚至可以在 VS2017 的安裝目錄里找到獨(dú)立的 MSBuild 程序集和 msbuild.exe例如C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\MSBuild.exedevenv 的調(diào)度主路徑是 devenv.exemsbuild.exe 是獨(dú)立分發(fā)的最小構(gòu)建宿主。二者共享 .targets、.props、工具集定義只是在宿主環(huán)境上有所差異。這一點(diǎn)極其重要后面講為什么 devenv /Build 和 msbuild 結(jié)果不一樣的時(shí)候你會(huì)再看到它。3. 接住 .vcxproj 的完整鏈路從參數(shù)到項(xiàng)目系統(tǒng)3.1 命令行解析devenv 怎么判斷你給的是什么文件當(dāng)用戶在命令行輸入devenv MyProject.vcxproj時(shí)devenv 主進(jìn)程啟動(dòng)后會(huì)有專門的命令行解析邏輯處理參數(shù)。它會(huì)遍歷每一個(gè)參數(shù)判斷如果以/或-開頭就當(dāng)作開關(guān)項(xiàng)處理比如/Build、/Clean否則當(dāng)成文件路徑。拿到文件路徑后devenv 會(huì)先確認(rèn)這個(gè)文件是否存在、是不是目錄再看擴(kuò)展名。對(duì)擴(kuò)展名的判斷不是靠 exe 里寫死的字符串而是查系統(tǒng)注冊(cè)表里 Visual Studio 各個(gè)項(xiàng)目系統(tǒng)注冊(cè)過的項(xiàng)目文件類型映射。每家項(xiàng)目系統(tǒng)VC、C#、VB、F#在安裝時(shí)都會(huì)把支持的擴(kuò)展名和對(duì)應(yīng)的項(xiàng)目類型 GUID 寫進(jìn)注冊(cè)表。devenv 拿到 .vcxproj 后會(huì)在這些映射里找到一條類似vcxproj - VC 項(xiàng)目工廠的記錄然后一切就從這里開始了。3.2 項(xiàng)目類型 GUIDVC 項(xiàng)目靠它認(rèn)親很多搞了多年 VS 開發(fā)的人可能都不知道每個(gè)項(xiàng)目類型在 Visual Studio 里都有一個(gè) GUID。VC 項(xiàng)目的類型 GUID 是個(gè)老資歷{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}這個(gè) GUID 最早可以追溯到 VC6 時(shí)代一直沿用到 VS2017。你在解決方案 .sln 文件里也能看到它格式大致是這樣Project({8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}) MyProject, MyProject.vcxproj, {項(xiàng)目自己的GUID}需要注意的是在 .vcxproj 文件內(nèi)部項(xiàng)目類型 GUID 通常不會(huì)顯式寫在根節(jié)點(diǎn)上它存在于擴(kuò)展名關(guān)聯(lián)、項(xiàng)目模板注冊(cè)信息和 .sln 的項(xiàng)目聲明中。devenv 根據(jù)擴(kuò)展名找到對(duì)應(yīng)的項(xiàng)目工廠后再由項(xiàng)目工廠實(shí)例化具體的項(xiàng)目對(duì)象。所以嚴(yán)格說起來devenv 并不是在解析一個(gè)文件而是在按注冊(cè)表映射找對(duì)項(xiàng)目系統(tǒng)然后讓項(xiàng)目系統(tǒng)去加載文件。這里還有個(gè)值得補(bǔ)充的點(diǎn)VS2017 的 C 項(xiàng)目系統(tǒng)并沒有遷移到 Common Project SystemCPS它仍然使用經(jīng)典的 VCProject 項(xiàng)目系統(tǒng)核心類叫 VCProjectEngine。CPS 主要用于 C#、VB 這類托管語言項(xiàng)目后續(xù)才逐步擴(kuò)展。這也意味著 VC 項(xiàng)目在 devenv 中的加載路徑和 C# 項(xiàng)目的加載路徑是完全不同的。你把 .vcxproj 丟給 devenv它絕對(duì)不會(huì)按 C# 的工廠去處理映射表指向哪個(gè)工廠就走哪條路。3.3 臨時(shí)解決方案項(xiàng)目如何被掛進(jìn)解決方案模型一個(gè)很多人沒注意到的細(xì)節(jié)你只傳了一個(gè) .vcxproj但打開 Visual Studio 后看到的還是解決方案資源管理器里面有一個(gè)解決方案節(jié)點(diǎn)下面掛著你的項(xiàng)目。這其實(shí)是 devenv 的單一項(xiàng)目打開機(jī)制在起作用。如果傳入的不是 .sln 而是某個(gè)項(xiàng)目文件devenv 會(huì)在內(nèi)部生成一個(gè)內(nèi)存中的解決方案對(duì)象再把項(xiàng)目掛進(jìn)去。這樣 IDE 后續(xù)的構(gòu)建、調(diào)試、NuGet 管理都還是按照解決方案維度來運(yùn)作只不過這個(gè)方案是臨時(shí)的等你在 IDE 里另存為 .sln 文件時(shí)才會(huì)真正落盤。所以devenv 不是破例接受了一個(gè)項(xiàng)目文件它只是把你給的項(xiàng)目文件納入了它熟悉的解決方案模型。這也是為什么你可以在命令行直接傳 .sln 文件devenv 按正常方案打開處理邏輯是一樣的。3.4 能被 devenv 接受的遠(yuǎn)不止 .vcxproj把視野放寬一點(diǎn)devenv 能接受的輸入其實(shí)是一個(gè)集合.sln、.slnx、.csproj、.vbproj、.fsproj、.vcxproj、.vcproj舊格式需要通過升級(jí)向?qū)А?suo 都屬于它懂的格式。遇到這些擴(kuò)展名devenv 會(huì)走項(xiàng)目系統(tǒng)加載遇到不在集合里的普通文件比如單獨(dú)的 main.cppdevenv 不會(huì)拒絕打開而是把它當(dāng)成雜項(xiàng)文件顯示在解決方案里的 Misc 區(qū)域或者直接拉到編輯器里讓你看代碼。理解了這一點(diǎn)你就明白了能不能被 devenv 接受的判斷標(biāo)準(zhǔn)不是文件名本身而是這個(gè)擴(kuò)展名是否被某個(gè)已安裝的項(xiàng)目系統(tǒng)在注冊(cè)表里登記過。如果你裝的 VS2017 缺了 C 桌面開發(fā)工作負(fù)載就算 vcxproj 文件放在面前devenv 也只能當(dāng)普通文件打開或者報(bào)項(xiàng)目系統(tǒng)缺失。4. 實(shí)操驗(yàn)證在 VS2017 里跑通這幾條命令4.1 環(huán)境準(zhǔn)備先確保工具鏈和命令行入口正常要復(fù)現(xiàn)下面的內(nèi)容你需要一臺(tái)裝了 VS2017 的 Windows 機(jī)器并且確保已經(jīng)安裝了C 桌面開發(fā)這個(gè)工作負(fù)載。如果你所在的是隔離內(nèi)網(wǎng)環(huán)境通常的做法是提前用 VS2017 離線安裝包生成布局目錄把 VC 工具集、MSBuild、Windows SDK 這些組件都勾選上再拿布局目錄到目標(biāo)機(jī)器上安裝。很多構(gòu)建機(jī)沒有外網(wǎng)離線安裝包在這里幾乎成了標(biāo)配省去聯(lián)網(wǎng)下載的麻煩。打開命令行也有講究。建議不要直接用默認(rèn)的 cmd而是用開始菜單里的Developer Command Prompt for VS 2017開發(fā)者命令提示符。這個(gè)入口已經(jīng)幫你初始化好了 INCLUDE、LIB、PATH 等環(huán)境變量能直接找到 devenv.exe 和 msbuild.exe。如果你只有普通 PowerShell那也可以先手動(dòng)把 vs2017 的 Common7\IDE 和 MSBuild\15.0\Bin 目錄加進(jìn) PATH 即可。4.2 準(zhǔn)備一個(gè)最小的 vcxproj 與 main.cpp為了不引入其他干擾我用最原始的方式準(zhǔn)備一個(gè)最小 C 項(xiàng)目一個(gè) main.cpp一個(gè) MyDemo.vcxproj。main.cpp 內(nèi)容很簡(jiǎn)單#include iostream int main() { std::cout hello devenv std::endl; return 0; }.vcxproj 參考前面第 2.1 節(jié)的最小結(jié)構(gòu)是夠的但真正要讓 MSBuild 的 VC 目標(biāo)完整跑起來里面的 PropertyGroup、Import 順序都不能亂。所以我更建議你直接用 VS2017 新建一個(gè)Windows 桌面應(yīng)用程序模板項(xiàng)目然后把生成的 vcxproj 拿出來做實(shí)驗(yàn)。模板生成的 vcxproj 包含完整的工具集、平臺(tái)、預(yù)編譯頭、鏈接器配置拿來做實(shí)驗(yàn)最可靠也不會(huì)因?yàn)樯倭四硞€(gè)節(jié)點(diǎn)而踩坑。4.3 三條命令把打開、構(gòu)建、清理串起來下面三條命令是我個(gè)人最常用的組合建議按順序試一遍devenv MyDemo.vcxproj devenv MyDemo.vcxproj /Build Debug devenv MyDemo.vcxproj /Clean Debug第一條會(huì)啟動(dòng) IDE 并顯示 MyDemo 項(xiàng)目第二條不會(huì)打開完整界面而是直接以命令行構(gòu)建模式執(zhí)行 Debug 配置的構(gòu)建第三條清理 Debug 配置下的中間產(chǎn)物。/Build、/Rebuild、/Clean是 devenv 命令行最常用的三個(gè)構(gòu)建開關(guān)區(qū)別是Build 做增量編譯Rebuild 全量重編Clean 刪除中間輸出。如果你在解決方案場(chǎng)景下想指定構(gòu)建某個(gè)子項(xiàng)目可以用/Project參數(shù)devenv MySolution.sln /Build Debug /Project MyDemo.vcxproj /ProjectConfig Debug|Win32單個(gè) vcxproj 直接傳進(jìn)去的時(shí)候也可以帶上/ProjectConfig指定平臺(tái)和配置避免 devenv 用默認(rèn)平臺(tái)去匹配導(dǎo)致構(gòu)建被跳過。4.4 devenv /Build 和 msbuild 的差異誰更快誰更全很多做 CI 的人都會(huì)糾結(jié)既然 vcxproj 能被 devenv 接受也能被 msbuild 接受那構(gòu)建腳本里到底用哪個(gè)我把差異直接擺出來。devenv /Build 是帶著 IDE 宿主一起構(gòu)建進(jìn)程初始化更重可能會(huì)加載擴(kuò)展包、創(chuàng)建 ActivityLog所以啟動(dòng)明顯更慢。但它有個(gè)特點(diǎn)能復(fù)現(xiàn) IDE 環(huán)境下的完整行為。比如某些屬性在 IDE 屬性頁里被可視化地修改過或者有些擴(kuò)展只在 IDE 宿主下才注入構(gòu)建邏輯。當(dāng)你懷疑IDE 能編、命令行不能編時(shí)先試 devenv /Build 作為對(duì)照組是最合理的。msbuild.exe 是輕量級(jí)宿主不啟動(dòng) IDE只執(zhí)行構(gòu)建引擎。它需要正確的環(huán)境變量INCLUDE、LIB、PATH才能找到工具集所以 CI 里通常先調(diào)用 vcvarsall.bat 再跑 msbuild。優(yōu)點(diǎn)是速度快適合純構(gòu)建場(chǎng)景。對(duì)比項(xiàng)devenv /Buildmsbuild.exe引擎內(nèi)嵌 MSBuild先啟動(dòng) IDE 宿主獨(dú)立 MSBuild 宿主速度較慢啟動(dòng)開銷大較快環(huán)境依賴自動(dòng)定位 VS 內(nèi)部工具依賴 vcvarsall 初始化環(huán)境行為一致性更接近 IDE 手工操作更接近純腳本日志通常生成 ActivityLog.xml輸出可選診斷日志哪種更好沒有絕對(duì)答案。我的建議是本地排查用 devenv /Build自動(dòng)化構(gòu)建優(yōu)先 msbuild.exe。但如果你的構(gòu)建邏輯里有 IDE 擴(kuò)展參與那統(tǒng)一用 devenv /Build 更穩(wěn)。提示不要把 devenv /Build 當(dāng)成輕量級(jí)工具。它啟動(dòng)的是整個(gè) IDE 宿主進(jìn)程在 CI 節(jié)點(diǎn)上可能因?yàn)樵S可證、擴(kuò)展加載等問題出幺蛾子如果純編譯msbuild 更可控。4.5 順帶一提配置 PCL 這種重型庫(kù)時(shí)命令行驗(yàn)證的價(jià)值搜過Windows 下 VS2017 配置 PCL的人應(yīng)該對(duì)這個(gè)場(chǎng)景很熟PCL 點(diǎn)云庫(kù)配置要編譯一堆依賴中間大量 .vcxproj 項(xiàng)目需要逐個(gè)構(gòu)建。如果全在 IDE 里點(diǎn)很容易因?yàn)榕渲庙?xiàng)遺漏而返工但如果把構(gòu)建過程腳本化用 devenv 或 msbuild 在命令行里跑就能快速定位是哪個(gè)項(xiàng)目、哪個(gè)配置出了問題。很多 PCL 教程教你把 vcxproj 拖進(jìn) VS 就開始 build實(shí)際上你先用devenv xxx.vcxproj /Build Debug跑一遍輸出更干凈問題更好定位。這個(gè)習(xí)慣對(duì)后續(xù)排查非常有幫助。5. 常見問題與排查技巧實(shí)錄5.1 多個(gè) VS 版本并存時(shí).vcxproj 被搶走了這個(gè)問題在裝了多個(gè) VS 版本的機(jī)器上特別常見。資源管理器里雙擊 vcxproj系統(tǒng)按注冊(cè)表關(guān)聯(lián)彈出的可能是 VS2019 或 VS2022而不是你想要的 VS2017。解決思路有兩個(gè)一是右鍵選擇打開方式手動(dòng)指向 VS2017 的 devenv.exe二是在命令行里直接指定完整路徑C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\devenv.exe MyDemo.vcxproj這種寫法繞過了文件關(guān)聯(lián)也繞過了Open With的彈窗選擇適合在腳本里固定版本。5.2 打開 vcxproj 報(bào)未能加載項(xiàng)目怎么排查可能的坑不少。第一類是文件本身的問題vcxproj 損壞、XML 語法錯(cuò)誤、被非法編碼破壞。第二類是版本問題項(xiàng)目是用更高版本 VS 創(chuàng)建的PlatformToolset 在當(dāng)前 VS2017 里不存在比如 v143 對(duì)應(yīng) VS2022VS2017 里默認(rèn)只有 v141。第三類是組件缺失機(jī)器上沒裝 C 桌面開發(fā)工作負(fù)載。第四類是權(quán)限問題文件在只讀目錄或被進(jìn)程占用。我的排查習(xí)慣分三層先用文本編輯器打開 vcxproj檢查 XML 是否正常重點(diǎn)看Project根節(jié)點(diǎn)有沒有完整的命名空間Import路徑是不是指向了$(VCTargetsPath)。再看PlatformToolset節(jié)點(diǎn)確認(rèn)工具集版本和當(dāng)前 VS 匹配。最后打開 Visual Studio Installer 的修改頁確認(rèn) C 相關(guān)組件確實(shí)裝上了。如果是離線環(huán)境用離線安裝包補(bǔ)裝對(duì)應(yīng)組件即可。5.3 命令行構(gòu)建失敗但 IDE 構(gòu)建成功差在哪這種陰陽差異通常不是 devenv 本身的問題而是你的命令行環(huán)境少了 IDE 自動(dòng)注入的變量。比如你是從普通 cmd 里直接敲 devenv 構(gòu)建沒有調(diào)用 vcvarsall.bat那 cl.exe 可能找得到但 INCLUDE 和 LIB 不全編譯器報(bào)找不到頭文件。VS2017 的 IDE 會(huì)自己定位到 VC 工具集但命令行宿主進(jìn)程啟動(dòng)時(shí)還是依賴一組完整環(huán)境。最穩(wěn)妥的做法是用 Developer Command Prompt 來跑 devenv 命令或者在腳本里先調(diào)用 vcvarsall.bat 再執(zhí)行構(gòu)建。還有一個(gè)隱蔽點(diǎn)如果 vcxproj 里的配置名寫的是Debug|x64而你只寫了devenv /Build Debug沒有指定平臺(tái)devenv 可能因?yàn)檎也坏酵耆ヅ涞钠脚_(tái)配置而靜默跳過構(gòu)建。建議把/ProjectConfig Debug|x64完整寫出來減少歧義。5.4 devenv 構(gòu)建產(chǎn)物和 msbuild 不一致的經(jīng)典問題我在實(shí)際項(xiàng)目里遇到過好幾次用 devenv /Build 編出來的 exe 運(yùn)行正常用 msbuild 編出來的卻崩潰或找不到 DLL。對(duì)比之后發(fā)現(xiàn)原因大多是兩種構(gòu)建方式執(zhí)行時(shí)的環(huán)境變量、屬性繼承順序不同或者 msbuild 調(diào)用前沒有初始化 vcvarsall。舉個(gè)例子某些第三方庫(kù)的頭文件搜索路徑是在系統(tǒng)環(huán)境變量里追加的如果 msbuild 在干凈環(huán)境里跑這些路徑丟失編譯產(chǎn)物自然就不對(duì)。處理辦法是讓兩種構(gòu)建盡量走同一套環(huán)境先在 Developer Command Prompt 里初始化 vcvarsall再執(zhí)行 msbuild。如果用的還是同一份 vcxproj沒有額外屬性覆蓋產(chǎn)物應(yīng)該是一致的。如果仍有差異那就該懷疑是不是有 IDE 擴(kuò)展在 devenv 宿主里偷偷改了構(gòu)建參數(shù)這時(shí)候再考慮換用 devenv /Build 保持一致性。5.5 隱藏技巧用 /Log 抓取 devenv 完整日志VS2017 的 devenv 支持/Log參數(shù)可以把整個(gè)加載和構(gòu)建過程輸出到一個(gè) XML 文件。遇到devenv 接住 vcxproj 之后行為詭異的問題比如某個(gè)屬性沒生效、擴(kuò)展包加載失敗直接加一句devenv MyDemo.vcxproj /Build Debug /Log D:\logs\devenv.log然后用文本編輯器打開日志搜索Error、Warning、Load關(guān)鍵詞定位速度會(huì)快很多。這個(gè)技巧在很多官方文檔里只是一句帶過但實(shí)際用起來非常管用。有一次我排查一個(gè)第三方擴(kuò)展在構(gòu)建時(shí)注入錯(cuò)誤配置的問題就是靠這條日志找到的。我個(gè)人在這些年的實(shí)際使用中最大的體會(huì)是不要把 devenv 和 msbuild 當(dāng)成兩個(gè)互相不認(rèn)識(shí)的工具。devenv 能接受 .vcxproj靠的是 Visual Studio 2010 之后項(xiàng)目系統(tǒng)整體遷移到 MSBuild 之上devenv 本身就帶著 MSBuild 引擎。你把項(xiàng)目文件交給它它背后做的第一件事就是按注冊(cè)表映射找匹配的項(xiàng)目工廠再讓 MSBuild 引擎去消化 XML 里的構(gòu)建意圖。理解了這條鏈路以后再遇到文件關(guān)聯(lián)變了命令行項(xiàng)目打不開IDE 和命令行構(gòu)建結(jié)果不一樣這類問題你就不是瞎猜而是知道該往哪個(gè)方向查了。順便說一句VS2017 里如果遇到 vcxproj 加載異常第一反應(yīng)不應(yīng)該是重裝而是先看 ActivityLog 和平臺(tái)工具集版本大部分問題都在這里。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
中文字幕一区二区三区高清| 色女女女导航| 内射黑丝袜| 野狼福利社区| 日本五十路熟女一区二区| 成人日韩欧美| 欧美一区二区男人天堂| 欧美色性爱| 色老汉色| 综合网 欧美| 久草免费福利在线播放| 日本中文字幕高跟| 老子午夜伦不卡影院| 99热亚洲| 国产精品九九九| 久久久97| ...日韩成人一区二区三区字幕| 国产精品不卡少妇白| 十八禁的黄污污免费网站| 婷婷四五区| 欧美人妻少妇| 精品国产99| 欧美在线电影| 色蜜AV| 综合欧美亚洲| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 亚洲九区| 久久午夜鲁丝片| 爱射综合| 蜜乳AV.COM| 免费国产| 日韩一级二级| 久操九九九九| 国产精品 视频| 久久国色天香香蕉| 丰满的三级少妇欧美久久久| 日本加勒比无码专区| 国产人妻精品久久久一区二区三区 | 在线观看综合精品亚洲| 欧美少妇色图| 人妻精品一区一区三区蜜桃91| 亚洲欧美精品福利在线| 国产精品色片一区二区| 国产三级片在线观看| 久久欧美按摩999| 手机在线视频国内精品| 亚洲欧美另类激情小说| 蜜臀在线看片| 欧美少妇人妻| 中文字幕伊人| 亚洲综合影片| 翔田千里AⅤHD无码| 久久久久久九九九| 校园春色美腿丝袜 | 9久9久| 97一本大道亚洲一区| 欧美亚综合色图| 日本一二三高清| 夜夜操美女| 日韩熟女视频二区| 国模精品一区二区三区苹果色戒 | 青草青草久热| 婷婷视频在线免费观看| 大香樵伊人网| 香蕉免费一区二区三区不读 | 日韩不卡a级视频专区| 国产熟女精品区| 手机av亚洲丝袜美腿日韩第一页二页| 国产精品成人午夜福利| 欧美日韩激情无码专区| 亚洲一区二区三区麻豆传媒| 日韩精品资源| 人妻人人做人人澡人人爽欧美一区| 亚洲无码久久久久久久| 亚州春色| 黄色一区三区| 蜜桃传媒视频第一区入口在线看| a片 xxxx受爽视频| 久久精品亚洲成a人天堂| 九九九九九九九| 亚州,欧美在线| AV和黑人在线播放| 亚洲色欲一区二区三区| 乱伦日本色图AⅤ| 久久黄黄| 亚洲国产精品成人久久蜜臀| 欧美少妇熟女| 国产 亚洲 一二三四| 久久人妻视频网| 欧美第五页| 国产91精品福利在线| 麻豆a'v电影| 天海翼久久| 色欲天天综合久久久无码网中文| AV不卡在线| 91国产大片| 国产日韩区| 亚洲十八禁止| 亚洲天堂区| 九九碰九九爱97超碰| 超碰97精品在线| 国产精品久久久久久久电影渣男| 日本最新1区2区3区| 亚洲国产成人7777| 久久久91福利姬| 99碰碰| 久久久久白虎| 是还免费视频1727我| 欧美性巨大╳╳╳╳╳高跟鞋| 精品九九| 色婷婷成人| 天美av在线观看| 国内精品久久人妻性色av| 韩国手机不卡无码三级视频| 91人妻PORNY九色大屁股| 67914在线兔费成人视频| 91粉嫩萝控精品福利网站_精品影音先锋国 | 亚洲AV色图| 很很干很很操| 国产亚洲女v在线观看| 2019午夜福利视频| 日本 情色 1区2区3区| 亚洲中文日韩精品| 国产精品直播在线观看直播| 久久成人精品| 情色大香蕉| 亚洲av综合色区无码一| 久操视频免费在线观看| 性色AV蜜色av色欲av| 加勒比日本在线| 激情综合av| 99老司机精品视频在线观看| 亚洲一区二区中文字幕| 天美传媒av在线| 中文字幕制服欧美久久一区| 无码自拍SM| 亚洲av性爱电影| 欧美色图91p| 亚洲成人一二三区| 狠狠干2020| 三级三级三级日本99| 搡老女人老妇女AAA一VU麻豆 | 伊人一区二区三区| 一区麻豆 高清中文字幕| 少妇一级无码精品| 中文字幕十五区| 日本天堂网| 天美传媒国产原创中文字幕亚洲欧美另类| 国产黄色 A 片免费看| 八戒无码国产午夜福利| 国产一在线观看| 综合av社区| 黑人美精品 A片| 五月天婷婷在线看| 日韩有码中文字幕女同性恋| 四虎免费在线播放| 97综合久久| 久久日本熟妇熟色一区| 青青青在线高清视频在线一二三四区| 夜夜精品视频一区二区| 97这里有精品| 欧美性爱日韩高清| 久久精品国产久精国产| 精品区国产区一区二区三区| 日韩丰满熟妇| 欧美日韩免费专区在线| 99热线麻豆 | 久久久九九网站| 中文字幕在线免费观看视频| 夜夜夜久久| 婷婷久草| 一区二区三区美女超清| 18禁精品网站在线看| 俺去俺来也在线www| 人妻激情另类| 日韩欧美蜜桃精品久久中文字幕久久 | 日本一级性爱| 亚洲色图欧美色图制服丝袜| www.超碰在线| 久久黄色性爱视频| 无码最新| 黄色av片三级三级三级免费看| 狠狠干婷婷| 天美欧美国产| 久久精品国产72国产精品福利 | 国产 三级自拍| 天美欧美国产| 国产精品无码久久久久2025| 少妇xx精品| 无码抄逼网| 99自拍B亚洲 | 亚洲日韩美国人妻| 很很很很操| 久久受www免费人成| 懂色AV一区二区三区| 青青操视频在线| 丁香五月婷婷色| 九九九九九九九九九九九免费国产| 白天啪啪晚上啪啪视频| 清清草影| 精品区国产区一区二区三区| 一区二区三区男人的天堂| 91成人久久| 艳尻美人妻| 在线中文字幕| 丝袜天堂网| 999国产精品999| 精品白丝一区| 五月天色综合| 美国精品国产精品| 四虎影视永久在线观看精品免费网站 | 亚洲本色精品一区二区久久| 亚洲五区熟女| 亚洲国产一区二区日韩专区| 家庭乱伦麻豆| 91女人的网站| 91bbbbbb| 操逼内射干逼白丝91| 都市久久精品激情亚洲| 久久中文字幕女同性恋一区| 欧美不卡在线美女| 日本片日本片祼观看网站在线看中文版网页在线看| 成年人免费观看网站| 欧美aaaaaaa| 粉嫩AV一区二区夜夜| ,国产乱人伦精品一区二区三区| 亚洲影院365| 国产一二三在线视频五十路| 吉川爱美98堂在线| 人妻熟女一区在| 国产AV无码AV| 91精品久久久| 久久精品一区二区一8| 一区二区三区亚洲| 久久97资源 网| 日本不卡卡一区| 在线精品福利免费播放| 中文字幕第9页萱萱影音先锋| 久久精品视| 免费视频a级毛片免费视频| 亚洲乱色熟女一区| 一级性爱网| 激情婷婷黑人91| avav青青草久久夜| av在线免费一区二区| 欧美se综合| 台湾一区国产高清在线| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 成人亚欧免费视频| 天天爱天天操| 午夜视频久久久久一区| 少妇久久久久久久久| 欧美少妇大量自拍视频在线观看| 欧美高清第一页| 久久超碰com| 97综合国产| 超碰九区| 成 人 A V免费视频在线观看| 亚洲性高潮| 日躁天天爽爽| 亚洲乱色熟女一区| 精品人妻1区| 欧美aaaaaaa| www.久久最新地址| 国产99 中文字幕日韩小视频| 人人插人人摸人人| 天天综合91在线| 97资源欧美| 老熟妇一区二区三区啪啪| 夜夜青青无码影院| 人人妻人人爽| 久久99午夜精品一区人妻| 上海一级黄片| 亚洲日本韩国在线| 屌色在线97视频| 色性荡荡荡荡视频| 天天在线91| 超碰91在线| 无码人妻丰满热妇又大又粗| 一区二区偷拍拍视频| 婷婷色香| 亚洲中文字幕熟女| 日本3级一区二区免费| 婷婷五月天激情网| baiduhicn.com。| 麻豆尤物视频网| 久久成人国产| 欧美亚州综合图片| A 天堂| 最新日韩黄片| 欧美在线色| WWW.操逼.COM| 国产中文精品一区二区在线观看| 国产久久av| av网页一区二区三区| 超碰99在线| 亚洲熟女偷拍在线观看| 偷窥自拍亚洲色图| 色香综合天天影视综合 | 日本淫乱女一区二区三区视频| 国产精品无码av嫩草| 极品内射| 欧美人妻久久精品二区三区 | 丁香五月社区| 天天综合网视频91| 婷婷大香蕉| 密臀视频三区免费网站| 婷婷伊人| 美女91| 97香蕉碰碰人妻国产欧美| AV色五月天| 中文字幕精品一区二区精| 国产一区二区a毛片| aaa亚无码专区| 亚洲蜜桃V妇女| 日韩强奸av| 另类图片五月| 国产一级高跟丝袜| 素人伊尹大香蕉免费下载视频| av婷婷色婷婷色六月| 青青草大香蕉视频| 日本蜜桃| 天堂精品在线| 久久久96| 加勒比av网| 欧美久久九九| 看黄片视频免费| 日日躁天天躁狠狠躁| 成人婷婷丁香| 亚欧高清在线| 91AV入口| 人妻天堂网| 91性高| 亚洲欧美九九| 91色人妻| 久久性爱视频免费看| 智利AV在线网| 日韩欧美天天爽爽爽天天爽爽| 亚洲激情在线一区二区| 懂色av色欲av蜜臀av| 日本一区二区三区四区五区六区七区八区九区 | 国产大学生高潮在线播放| 26UUU欧美日本| 九九草| 国产三级中文字幕粉嫩 | 美骚妇av高清在线| 国内精品999| 午夜天堂精品久久久久91| 欧美性爱www免费版| 婷婷人妻激情| 亚洲精品九九九九九九| 精品人妻一区二区三区蜜桃视频| 九九自拍伦理| 精品人妻15区| 亚洲超碰在线| 男人的天堂三级| 免费看污网站| 欧美色图片91| 日韩无码人妻中字久久三区四区| 你草精品在线视频| 91精品人妻一区二区三区蜜桃| 99re这里只有精品3| 97人肏| 97久久精品亚洲中六字幕| 亚州成人a∨| SS久久| 欲射影视| 九九九九热只有精品| 天天久久久久久| 伊人麻豆传媒| 精品人妻一区二区三区视频在线| 97干97色| 国产精品久久伊人| 日日操丁香五月天| 大香蕉123| 熟妇艹鸡八| av在线免费一区二区| 亚洲欧洲日韩中文字幕一区| 亚洲欧美啪啪| 久久婷婷苹果| 日本高清视频xxxx| 涩涩五月天| 诱惑人妻欧美一区在线播放| 青草园大香蕉| 在线播放成人高清免费视频| 无码外流操逼视频| 99综合网| 亚洲中文sv| 2019天天干天天操| 色欲久久综合| 蜜桃久久久久久久久久久久| 校园春色第一页| 91制服丝袜| 国产美女裸体秘 永久无遮挡| 欧美一级色| 中文一区二区| 日韩一级成人毛片免费观看 | 久久99热这里只频精品6学生| 884t在线| 91麻豆一二三区| 亚州Av天美传媒| 蜜区区视频79 | 干干干天天| 欧美在线综合| 精品亚洲一区在线观看| 插入综合网| 9Ⅰ超碰| 亚洲精品男人的天堂| 午夜精品人妻二区三区| 97人妻免费中文字幕| 精品国产99| 亚川综合视频| 亚洲人91| 国产精品自拍欧美在线| 亚洲天堂久| 99热99在线| 97视频在线播放| 777琪琪午夜免费A片| 国内精品伊人久久久久影院会| 久久久噜噜噜久久人妻| 九九RE视频在线精品| 中文字幕青青草| 伊人在线大香蕉视频久久| 久久风骚城市| 91人精品妻入口| 久久久久9999精品九九九| 国产精品极品美女视频| 国产熟女乱论| 亚洲天天影视色综合| 亚洲高清无码AAA久久久精品| 色老大| 亚洲熟女综合| 亚洲中文字幕97久久精品少妇| 欧美中文综合| 久久综合中文国产| 桃花色涩综合影院| 亚洲无码精品AV久久久| 大香蕉伊然在亚洲91| 亚洲图片欧美91N| 岛国AB视频| 欧州一区二区三区四区| 久久精品无码专区| 久草电影网| 国产av热热色| 国产精品91ai| 91+欧美| 欧美午夜色妇色鬼| 久久中文字幕女同性恋一区| 又粗又长又爽在线观看| 91狠狠综| 黄色无码高清黄色无码网站| 人人操人人干xxx| 大干人妻| 人妻熟女一区二区三区视频| 久久久穴999| 和协影院中文字幕三区| 久久免费精品96| 亚洲男人的天堂网| 日逼五月天| 男插女青青影院| 欧美午夜色妇色鬼| 自拍盗摄一区| 6080yy午夜理论三级一区二区三区无码 | 91亚洲人电影| 一区久久久二区| 欧美性爱一区二区三区四区| 60秒免费小视频| 狠狠亚洲| 欧美92| 一区二区乱码福利| 欧美九9 9 9| 蜜臀th| 久久久国产成人一区二区三区在线| a一区二区三区乱码在线| 26uuu国产亚洲综合| 免费少妇一区二区| 97最新在线播放视频| 清清一区二区三区四区不卡视频| 中文字幕久久精视频久久大全| 天天天天天天天天综合| 久久精品人妻一区二区三区| 综合色欧美| 久久精品 六十路 熟女 欧美| 亚州免费啪啪视频| 亚洲成人一区二区精品| 天天做天天爽| 人妻激情在线视频| 国产一级高清免费观看| 激情干在线| 天天综合欧美综合| 青青五月天| 日韩乱伦AⅤ| 久久黄黄| 天天享受天天看| 亚洲欧美高清| 大香蕉综合| 国产高潮AA片免费看| 亚洲二区精品在线观看| 欧美精品日韩一区二区| 夜夜骑天天燥| 日本色婷婷| 亚洲最新中文字幕免费| 蜜臀AV成人精品蜜臀| 欧美性生活男人的天堂| 亚洲色资源| 国产小黄片在线免费观看| 久久国产精品熟女人妻| 91操人| 韩国毛片一区二区三区| 九九99精品视频在线观看| 国产精品一二三| 少妇一线天久久久久久| 日本在线观看网址| 亚洲吊色| 熟妇熟女视频一区二区三区| 99rre在线精品99re8| 国产少妇与亚洲av| 日韩99精品视频综合区| 亚州欧美另类| 柠檬AV导航| 白丝AV| 午夜精品久久999热蜜桃介男人用| 十八禁视频一区二区| 日韩欧美~中文字| 久久久久久久一级黄色打同平台| 精品无码一区二区三区色欲| 少妇内射视频| 久久亚洲人妻| 亚洲av在线免费观看| 日韩欧美综合激情| 婷婷av在线中文字幕| 青青欧洲黑| 亚洲综合小说另类图欧美视频激情小说色五月天 | 欧州一区二区三区四区| 天天性射网| 男人的天堂2000| 啊啊啊好湿国产一二| 亚洲 中文 欧美 日韩 在线| 麻豆人妻精品一区二区| 看看小穴| 无码久久亚洲高清,| 久久手机好看网站| 日韩大香蕉| 九九色色| 好看的91视频| 亚洲欧美激情另类色图| 久久色精品视频在线| 久久骚少妇| 超碰国产精品久| 麻豆九九九| 亚洲 自拍偷拍 欧美| 天天干天天日天天射黄色| av天堂电影网| 天天综合91在线| 日日干夜夜欢| 啊啊啊快操我视频| AV和黑人在线播放| 影音先锋少妇| 亚洲综合色在线| 98精品国产乱码久久久久久| 久久欧美按摩999| 99精品久久久久久久婷婷| 97色伦97色伦国产欧美| 亚洲欧美综合网 | 五月天婷婷在线看| 啊啊啊啊无码| 亚洲风情综合网| 国产探花精品在线| 超碰成人公开| 色九九久九九| 亚洲91网| 少妇3P性爱自拍| 欧美熟妇乱码在线一区| 综合五月天| 日本激情免费大片| 少妇与黑人高潮在线| 一本大道青青| 国产精品噜噜噜日日日| 一本精品日本在线视频精品| 99热精品在线观看| 婷婷五月天无码| 风月影院男女十八禁| 天天做天天爱| 日本在线激情一区二区三区| 欧美日韩人人精品| 精品日日人妻| 极品白嫩美女白浆成人福利在线看| 一起草AV| 欧美草草高清日韩视频| 约操熟妇| 黑丝日韩av丝袜av| 亚洲色阁| 五月丁香综合激情| 欧美黑人168页欧美黑人167| 日韩欧美大片免费高清啪啪| www.99视频| 日韩av情韩国爱禁区av一区二区| 亚洲日韩精品久久久久一区壹牛| 欧洲色色| 国内毛片四区| 成人婷婷丁香| 色欧洲| 五月丁香婷婷啪啪| 亚洲瓯美色图| 日韩无码三级影院| 嗯嗯啊啊好疼| 亚洲成人一区二区精品| 国产av青草| 国产福利电影| 99爱爱| 久久99午夜精品一区人妻| 人妻无码视频一区二区三区久久| 成人97人人超碰人人| 激情四射熟女丝袜| 国产51色综合久久免费| 激情文学小说一区二区| 精品人妻伦一二三区久久| 亚洲精品九九九| 天堂精品小草| 99热9| 久久国产熟女影院| 韩国毛片一区二区三区| 久久精品国产亚洲AV无码做| 精品乱码久久久久| 韩日精品四区| 亚洲 自拍偷拍 欧美| 乱人乱色一区二区三区免费| 台湾佬中文娱乐自偷自拍| 国产女同视频在线播放| 九久久精| 亚洲精品97中文字幕| 98一区二区精品| 嫩草影院在线观看精品| 久久精品一区二区一8| 天堂精品| 日本天天操| 视频黄色国产一级| 91综合中文字幕| 中文熟女五十乱码在线| 麻豆性爱视频在线播放| 婷婷综合久久| 色综合网1| 久久精品中文字幕观看| 国产成人亚洲精品无码最新在线| 蜜汁欧美| 人妻激情视频| 国内一级精品| 精品视频一区二区| 日韩综合色网| 久久久性少妇| 亚洲双插| 国产人妻精品一区二区三区秋霞 | 中文字幕 码精品视频网站| 精品国产人成在线| 人人摸人人添人人操| 欧美aa一级片| 老司机深夜影院18未满| 国产区性爱在线视频秋霞豆| 国内精品a| 国产一区二区三区视频在线看| dy888午夜老子影视达达兔| 久久久久熟女| 蜜桃狠狠色伊人亚洲综合网站| 91大香蕉伊人| 精品免费囯产一区二区三区| 日本黄色XXX| 99re这里只有精品2| 噜噜噜亚洲精| av2014 日韩在线中文字幕| 亚洲色图 图片| 精品久久97| 在线亚洲 欧美 日本专区| 把腿张开老子CAO烂你| 婷婷五月av| 日韩成人色图| 欧美久久九九| 国产丰满少妇久久久精品影院| 裸模AV女优| 久久亚洲日韩国产欧| 九九久久玖玖| 色五天伊人| 狠狠爱综合网| 久久久夜夜嗨免费视频| 亚洲色图加勒比| 亚洲黄色电影| 国产精品自产拍在线观看社区| 中文字幕一二三区| 超碰色老头| 九九aV| 麻豆区久久久久亚| 综合久久久久久久综合网| 精品国产一区二区久久| 中文字幕成人乱码熟女精品国50| 2017人人操,人人摸| 亚洲精品国产AV天美传媒| 91成人18| 91在线限制级| 亚洲性爱电影| 九九九久久久久| 国产又黄又粗的视频| 国产13区| 大黄片做爱的大的| 色香伊人| 丁香六月激情综合| 久久超碰网| 欧美图片色综合| 强奸乱伦大香蕉| 久久9精品网站| 色九月| 中字幕人妻一区二区三区| 久久超碰、| 日韩欧美中文| 久久久日本电影| 日韩传媒在线| 久久XX| 国产粉嫩蜜臀av一区二区三区| 操我啊啊啊啊啊| 色一色综合网| 精品78| 91视频精品| 欧美的性爱网站免费| 99re不伦| 一区二区三区高清天码| 东北女人性交| 精品小视频在线| 亚洲.欧美.丝袜.中文.综合| 欧美十八禁视频| 国产91 丝袜在线播放00-百度| 另类亚洲图色| 天天操狠狠日夜夜干超碰撸com视频在线观看| 国产在线观看一区二区三区| 亚洲欧美综合网站| av在线人气| 玖玖在线视频| 色情综合| 国产超碰| 中文字幕 国产 精品| 囯戸精品高潮呻吟旡码| 欧美不卡五十路| 免费视频观看60秒| 久久久三区二区一区| 精品小视频在线| 躁躁日曰躁2020| 亚洲成人一二三区| 熟妇视频一区二区三区在线观看| 五月天综合在线| 激情五月婷婷| 99这里都是精品| 九九九九九九九精品视频| 成人八戒网站| 亚洲AV无码成人精品久久| 夜夜影视四色| 99综合免费视频| 在线另类| 91色人妻| 色官网色综合| 舔足天天操天天射| 三久久久四久久久久| 97精| 亚洲国产av中文字幕久久| 日本操逼视频不卡直接放| 涩涩涩综合| 99热这里只有精品地址| 综合五月天| 另类av天堂| 久射吧| 免费岛国一级片| 亚洲蜜乳av| 日韩精品一二三四| 久久內射| 少妇高潮九九九九| 一区二区三区黄色片a| 日韩性爱小视频在线观看| www.99色| 亚洲脚交| 久久透逼视频| 激情小说五月天| 精品网站99999| 欧美亚洲丝袜人妻制服中文99| 操逼日批| 中文字幕日韩综合| 国产91丝袜在线播放蜜月| 男人午夜天堂| 蜜桃久久一区二区三区| 婷婷丁香人妻 | 日本熟妇自慰性高潮一区二区三区| 国产福利合集| 久久久久久久一级黄色打同平台| 伊人丁香五月婷婷| 欧美制服网站美腿丝袜| 国产精品久久久亚洲一区| 久久人妻一区二区三区高清| 性色AV网站| 欧美亚洲性爱一区二区| 九九热re99re6在线精品| 久久精品色欧美aⅴ一区二区| 啊啊啊好舒服好爽啊啊啊视频| 久久精品一区二区三区四区五区| 亚洲AV无码乱码在线观看性色| 久久av无码| 日韩精品在线观看观看| 99久久网站| 69麻豆天美| 亚洲熟女性高潮久久久| 淮穴色AV| 好湿好紧视频| 久操网线| av麻豆啪啪| 国产精品人妻无码久久久老鸭窝| 日本精品第一视频在'| 人妻在线大香蕉| 丁香七月婷婷| 亚洲宅男天堂| 欧美少妇高潮视频| 综合欧美日韩在线观看| 中文字幕AV片| 精品国产91内射久久| 黑操B| 99热精品在线观看| 亚洲综合精品国产一区| 伊人亚洲综合| 成全在线观看免费观看| 天美一二三在线观看Av| 国产精品ww久久| 人人爽天天爽| 国产高清自拍| 91亚洲精品青草| 91熟女视频| 欧美 亚洲 综合 制服| 精品天堂| 爱爱动态120秒| 久久国产乱子伦精品免费女,网站| 亚洲一区中文字幕一区| 色香网| 天天插天天操| 日韩一级二级三级| 久操大香蕉手机视频在线看| 久久线上视频免费看| 色九区| 日韩精品一二三| 亚洲色图91欧美日韩| 久久91| 色女99一级片在线观看| 91成人高清在线观看| 亚州久久9| 国产高清成人mv在线观看| 99re6国产精品99re| 美国日韩黄色片| 色路综合| 欧美熟妇视频| 国产精品白丝在线播放| 亚洲欧洲日产国产综合网| 天天色,天天干,天天干| 97免费视频在线观看视频| JULIA一区二区三区在线播放| 一二三区视频在线观看| 亚洲日产专区| 91性高朝久久久久久久久| 熟妇精品juliaannAV| 国产福利小视频高清在线观看| 黑丝制服中文字幕| 东北黄色电影| 久久五月天婷婷丁香中文字幕| 99热国产| 成人贴图日韩欧美| 17c在线成人免费A片观看| 操死我了啊啊啊| 婷婷综合视频| 欧美人人曰人人操人人射射| 四虎免费视频| 91青视频| 亚洲国产麻豆一区二区三区| 天天干电影| 国产二区三区粉嫩在线| 翔田千里av一区二区三区| www国产无码| 亚洲怡春院| 久久国产99精品72福利| 日本操大逼| 欧美天天射| 91AV天美在线视频| 97WW精品| 日韩,欧美,中文在线| 亚洲情色综合| 热久久无毒不卡| 99啪啪视频| 99re国产中文字幕| 国产成年精品高清在线观看91| 玖玖爱视频网站| 亚洲中文电影| 久久久人体| 强奸乱伦av电影| 三男一女不戴套的A片| 久久久精品九| 嗯嗯,好大,好爽,好骚| 婷婷五月色| 国岛片视频| 成全动漫视频观看免费下载| 就去色综合| 99re6国产精品99re| 日本一二区免费| 综合久久中文字幕综合日韩精品| 天堂а√在线最新版在线| 精品久| 精品无人区麻豆乱码1区2区图片| 97视频7| 91在线美女| 欧美夜夜狠| 91GD.COM| 婷婷中文网| 久久国产乱子伦精品免费女人| 人人妻人人爱人人玩| 91大香蕉伊人| 蜜桃臀一区二区三区久久| 日韩钢筋无码高清啾啾啾| 色精品极品| AV 少妇 人妻 偷拍| 日本精品不卡一二三区| 色色香蕉| 国产精品一级毛片不卡视| 都市久久精品激情亚洲| 日本中文熟女视频| 思思热国产高清| 97天天日| 国产女人视频三四五区| 欧美激情精品久久久久久| 黑人综合色| 亚州国产成人精品女人久久 | 视频在线97| 97欧美色综合| 日韩中文9| 欧美中字不卡| 色偷偷超碰亚洲| 美熟女逼导航AV操逼| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 992这里有精品| 天天干天天干天天干| 色五月婷婷在线| 日韩啪啪啪啪啪| 亚洲综合色男人网| 精品福利视频| 精品视频97| 亚洲少妇色图自慰直播| 淫乱图区| 一区二区不卡免费| 欧美,日韩,中文,另类| 热G综合热G中文| 殴美性天天| 最新日本中文字幕| 国产成人精品必看| 国产 热久久久久国产精品| 日韩丝袜二区| 久久97| 91亚洲青青草原精品1区| 色诱avtt| 天天日熟妇| 久久久日本电影| 中文?日韩?免费?精品| 国产精品麻豆免费视频| japan日本高清乱xxxx| 亚洲欧洲综合视频在线| 人妻啊啊人妻啊啊| 天天做天天爱天天爽AV| 超碰69| 9久久精品| 中国AAAAAA黄色片| 操操逼操操逼操操逼逼| 综合一区中亚洲国产成人综合精品 | 国产探花精品在线| 色播五月丁香| 青青草日本中文字幕 | 色五月激情网| 国产亚洲欧洲在线观看| 欧美极品色| 久久久久久久人妻丝袜| 人人看人人爰人人操| 插欧洲美女欧美精品| 丝袜夫妻自拍| 乱色老一区二区三区的观看方式| 欧美姓爱综合网| 性暴力欧美猛交在线直播| 99久久精品国产高潮| 女人天堂AV五区在线| 色综合久久夜色精品国产天堂| 巨乳特殊服务按摩| 国产亚洲精品美女久久久| 五月丁香婷婷色| 夜夜福利| 香蕉视频欧美一卡二卡| 亚洲少妇综合在线播放| 色哟哟国产精品免费网址| 日韩 女同 综合| 日韩性爱小视频| 高清无码国产亚洲| 99www.bibizy香蕉资源国产一区二区三区高清 | 欧美日综合| 艹精品| 亚洲色堂免费视频| 欧美亚洲清纯| av天堂精品久久| 小草精彩毛片| 另类欧美综合| 黄片aaaaa一区| 亚洲影院小综合| 黄页av| 亚洲国产一区二区三区四区国产| 亚洲男人的天堂AV| 亚洲超碰97| 97色碰| 欧洲站一级二级三级h| 亚洲图片日本AⅤ欧美在线| 欧美一级三级| 九九九成人| 污污汅18禁网站在线永久免费观看 | 又大又白奶子| 天天舔日美女视频| 蜜乳AV网址| 无码男人天堂| 美女视频尤物网在线看| 国产性感骚丝袜在线| 91色婷婷综合久久中文字幕二区| 国产麻豆一级精品视频| 搡老女人老91妇女熟女| 免费αⅴ在线观看| 蜜臀久久久国产| 亚洲图片色图欧美另类| 亚洲综合影片| 国产无码三级视频在线观看| 91色碰| 又大又大又大又粗爽高潮观看| 99热精品在线观看| 久久精品国产亚洲粉嫩| 99操99| 色香天天| 欧美性天天影视| 免费试看60秒| 久久久9品一区二区三区| 97免费在线视频| 欧美日韩人人精品| 日韩一级久久毛片| 一区中文字幕二区日韩| 十八禁视频一区二区| 天堂在线一区二区| 操逼国产免费| 日韩人人精品| 色噜噜综合网| 成年人黄色| 伊人色综合超碰| 中文字幕人成乱码熟女香港| 超碰这里只有精品| 亚洲系列第一页| 亚洲蜜臀精品视频久久| 久久五月综合| 亚洲精品九九九| 欧美黑人与女人91~| 国产传媒午夜理伦精品| 亚洲综合性网址| 自慰白浆在线观看| 俞拍久久国应视频| 久久这里都是精品| 一区操逼| 天天干夜夜| 五月天开心网| a片久久久久久久久久久久 | 精品无码产区一区二| 九九色精品| 日韩免费a级毛片无码a∨| 求求你操操我| 国产又粗又长又爽又色| 久久久久久综合久久伊人蜜月| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 五月婷婷性爱| 26uuu久久| 欧美极品色| 蜜色网色哟哟| 欧美黑人精品一区二区| 色噜噜狠狠色综无码久久合欧美| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 亚洲影视综合| 久操在97| 日韩欧美视频青青| 再深点灬舒服灬太大了添视频| 亚洲狠狠入| 国产福利夜| 成人午夜无码视频| 亚洲欧洲自拍图片专区满春格| 99国产精品自在自在| 91爱综合| 亚洲AV无码国产精品久久久久| 国内一区二区免费| 亚洲色图第四色| 夜夜高潮夜夜爽高清视频一| 日韩三级天堂在线观看| 免费AV中文网在线观看| 久久久性少妇| 爱啪精品一区| 欧美1727免费观看视频| 精品中文字幕一区二区l - 百度| 91啪啪| 久操电影网| 亚洲 综合 第一页| 欧美久久婷| 久久综合99| 91快色色色色色| 性爱视频免费网址| 啪啪自拍九九综合| 美女爽爽爽刺痛洞洞| 久久久婷| 久久9精品视频| 99精品在线| 一区二区三区激情在线观看| 亚洲密乳AV| 91久久久亚洲| 91美女小视频| 麻豆天天躁天天揉揉AV| 制服诱惑亚洲一区二区三区在线观看| 麻豆 欧美 日韩| 五月婷色| 国产一区二区三区影片| 欧美性爱中文字幕无线码| 国产高清视频无码在线| 骚女天天综合网| 精品国产乱码久久久久久久久久毛片| 一区二区三区色综合| 久操 高清| 欧美一区二区传媒| 男人的天堂在线2| 亚洲欧美一区二区三区在钱蜜桃| 婷婷久久五月| 伊人色综合网电影| 最新中文字幕在线亚洲| 涩涩涩综合| 天天日天天搞天天干| 1769国内精品视频| 久久精品久久久久久久久| 日产操逼| 狠狠操,使劲操| 欧美v亚洲v综合v国产v妖精| AAAA级日本片免费视频| 91东北熟女| 欧美激情激情xxxx欧美专区| 亚洲图片激情小说| 日韩人妻一二三区视频| 色五月婷婷麻豆在| 女人高潮抽搐喷水视频网站| 成人福利视频网| 5278欧美一区二区三区| 一区二区三区 日韩欧美| 中文字幕123| 亚欧国产无码精品在线| 欧美亚洲中文字幕| 综合久| 欧美色婷婷| 欧美视频在线第3页| 久久久精品日本一道| 久久久久久大| 亚洲 欧美 另类 日韩 人妻一区| 狠狠夜色午夜久久综合在线| 日韩精品三级片长长久久| 精品一区二区久久|