簡體   English   中英

TeamCity:找不到類型或命名空間,但引用存在且我的項目在本地編譯

[英]TeamCity: Type or namespace cannot be found, but the reference exists and my project compiles locally

我有一個ASP.net MVC 3項目。 我們正在使用TeamCity,到目前為止一切都已經檢查完好了。 今天突然間,我做了簽到,TeamCity構建失敗了。 它說我錯過了使用指令或程序集引用並拋出了編譯錯誤。

我本地計算機上的項目已成功構建。 我重建了幾次以確保。 我檢查了參考,它就在那里。 我檢查了.csproj文件,它也有引用。 我檢查了bin; 在那。 我甚至RDP到我們站點部署的服務器並檢查了那里的bin,dll文件也在那里。

我不明白為什么它不起作用,我沒有改變特定文件中的任何內容,它表示在幾周內缺少程序集引用,我昨天成功登錄了TeamCity,dll文件存在於它應該的任何地方,而我的項目建設。 我甚至對我上次成功簽入的最后一次提交進行了硬重置,添加了我的更改(這與引用問題無關,我的所有更改都在.js文件中),並檢查了,但是我得到了相同的編譯錯誤。

有沒有人知道出了什么問題,或者至少我可能試圖解決這個問題?

編輯:這里沒有使用路徑文件,有問題的文件是.dll文件,我通過點擊項目中的“添加引用”添加了該文件。 我檢查了Github存儲庫,並且.dll文件位於bin文件夾中

iamkrillin讓我想到這可能是一個路徑問題,所以我打開了csproj文件並注意到“missing”文件的引用格式與其他所有文件的格式不同:

<Reference Include="Ektron.Newtonsoft.json">
  <HintPath>..\..\Custom\bin\Ektron.Newtonsoft.json.dll</HintPath>
</Reference>

// THE "MISSING" FILE
<Reference Include="Smdg.Utils, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>..\NEHGS\bin\Smdg.Utils.dll</HintPath>
</Reference>

我檢查了Custom \\ bin文件夾,確定.dll文件確實存在(雖然它也存在於NEHGS \\ bin中),所以我擺脫了SpecificVersion標記並將路徑更改為Custom文件夾。 TeamCity能夠檢查它。

為什么它在過去2個月工作時突然爆發,我不知道。

我之所以這樣,只是因為沒有在VCS(GIT)中存儲NUGET包。

因此,需要在構建步驟之前進行NUGET包的恢復。

https://blog.jetbrains.com/teamcity/2013/08/nuget-package-restore-with-teamcity/

我有同樣的問題,我的TC版本突然無法找到一個程序集。 我通過檢查路徑解決了這個問題。 我的裝配沒有標簽。 一旦我添加了帶有dll路徑的tage,TC就能夠成功構建

我希望這可以幫助那里的人,在我的情況下,我必須檢查具有引用dll / nuget包的文件夾。 請注意,我已經提交了項目但由於某種原因'SVN'沒有檢入/提交具有dll / nuget包的(本地)文件夾,所以我不得不轉到文件夾並檢查它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM