2016-03-31 67 views
0

爲了能夠發佈一個.exe我已經爲我的C#項目添加了Costura/Fody包。我已經使用這個包之前,但現在我得到了以下錯誤消息:Fody在錯誤的目錄中尋找中間文件

MSBUILD:錯誤:Fody:AssemblyPath 「C:\項目\ X \的MSBuild \ OBJ \ 86 \調試\ X.exe」不存在。如果您的 尚未完成構建,則可以忽略此錯誤。 完成Fody 4ms。

奇怪的是,是,中介X.exe正確地建立在這裏:

C:\項目\ X \ SRC \ X \ OBJ \ 86 \調試\ X.exe

我正在進行的項目相當大。所以我們使用幾個MSBuild道具文件將所有內容放在corect輸出目錄中。從命令行構建MSBuild並從Visual Studio中構建都能正常工作。所以我認爲我們的道具文件是正確的。爲什麼福迪正在尋找中間人這樣一個奇怪的位置?

Fody可能使用哪個MSBuild變量來控制這個中介路徑?

+0

文件夾或文件權限? –

+0

我不這麼認爲。 MSBuild可以訪問所有這些文件和文件夾(它創建它們),而Fody只是一個由MSBuild執行的組件。 –

回答

1

看着the code引發異常,我看到一個非常簡單的File.Exists檢查。這一切都源自ProjectDirectory(在WeavingTask中),您可以檢查使用該值的地方here

因爲我沒有使用過Fody,所以我不能告訴你更多。我會特別注意配置文件,因爲我沒有看到ProjectDirectory在任何地方被構建,只是從某個地方注入。

+0

謝謝!我沒有想到看源代碼。不知何故Fody使用了一個非常奇怪的obj目錄。我通過改變我們的構建腳本來強化obj目錄來解決這個問題。 –

相關問題