2017-08-14 100 views
0

我有一個CoreApp項目(CoreApp)和一個依賴於CoreApp項目的Project1。感謝來自MSFT的人,之前我可以使用Project1下的(CoreApp)子模塊通過VSTS git編譯。然而,現在在Project1中,每當我在CoreApp項目中引用一個模型(例如,一個AppUser類)時,我都會遇到構建錯誤 - 「無法找到類型或名稱空間名稱'AppUser'(是否缺少using指令或裝配參考?)「錯誤。我閱讀了一些SO帖子,不僅改變了CoreApp項目中的文件夾名稱,還改變了CoreApp Model名稱空間,現在我得到了一個不同的錯誤 - 「名稱空間'CoreAppApp'中不存在類型或名稱空間名稱'CoreAppModels'(你是否缺少一個程序集引用?)[d:\ a \ 1 \ Project1 \ Project1.csproj]。我也繼續得到前面的錯誤。在我看來,構建過程沒有選擇CoreApp程序集,或者更新的代碼,但我確實看到CoreApp項目在構建過程中被拉下來了VSTS git submodule參考錯誤

所有這些都可以在我的電腦上正常工作和生成,我在VSTS上驗證了CoreApp文件和哈希, .gitmodules與條目 -

[submodule "Project1/CoreApp"] 
    path = Project1/CoreApp 
    url = https://name.visualstudio.com/_git/CoreApp 

同樣,我看到CoreApp是在生成過程中拉低 -

Copying file from "obj\Release\CoreApp.dll" to "bin\CoreApp.dll". 
CoreApp -> d:\a\1\s\Project1\CoreApp\bin\CoreApp.dll 

是否做一個構建時就VSTS構建過程拉下最新子模塊的代碼?有誰知道我做錯了什麼?我拉我的頭髮,任何幫助表示讚賞。謝謝!

回答

0

請檢查您的VSTS建立定義:

在獲取源一步 - >顯示高級設置 - >確保選中的結帳子模塊 - >保存。

enter image description here

enter image description here

然後建立自己的project1一遍,Project1\CoreApp\bin\CoreApp.dll將從子模塊被發現。

要更新主要回購sumodules,你可以得到源後添加命令行任務步驟:

工具:git

參數:submodule foreach "git pull origin master"

enter image description here

+0

我有該複選框被選中,並且還有遞歸級別集合。 – Joe

+0

我想我知道這個問題,但我不知道如何解決它。之前我更新了子模塊並將其檢入。但是,位於VSTS Project1倉庫中的SHA散列(CoreApp)文件仍然指向舊版本的CoreApp。如何將此文件更新爲更新後的CoreApp版本? – Joe

+0

要更新子模塊,您只需要添加一個命令行任務,我的答案中的詳細設置,您可以嘗試一下。 –