2015-07-10 24 views
1

我最近安裝了.net 4.5.2開發包,無法編譯幾個實現postsharp 4.1.13方面的.net 4.0項目。清理並構建後輸出窗口中的相關項目爲PS0224找不到留言內容!安裝後出現錯誤.net 4.5.2

:消息PS0220:PostSharp需要爲 所選平臺生成綁定映射。這可能需要一段時間。結果將被緩存 ,下一個版本將更快。

:postsharp錯誤PS0224:[PS0224]。>找不到消息文本!

4.5.2使用和不使用post sharp 4.1.17的項目可以正確編譯。

我們已經從項目中刪除了.13 nuget軟件包,並添加了.17版本,似乎已經糾正了這個問題,但該修訂增量帶有我們想要避免的自己的postharp版本問題。

有沒有人有一個想法,如何確定可能導致這個或如何去糾正它,並保留在版本.13?

+0

您想通過保留4.1.13來避免哪種版本控制問題? –

+0

@JakubLinhart我們工作的一部分就是構建我們公司(和我們自己)中其他開發人員使用的可擴展框架。如果我們的框架構建爲使用.13,那麼所有dll擴展或實現者都基本鎖定到.13。如果我們更新到.17,那麼我們強制更新所有呼叫者。 – StingyJack

回答

0

PS0224表示在爲當前編譯生成綁定映射時,PostSharp無法訪問文件。所有這些文件都存儲在C:\ProgramData\PostSharp\BindingMaps中,最可能的問題是運行PostSharp的用戶沒有對此目錄的寫入權限。

由於您已經安裝了.NET 4.5.2,這是一個就地升級,因此PostSharp需要在不同版本的.NET上運行時生成新的綁定映射。

確實在我們的代碼庫中有一個合併問題,消息文本沒有包含在這個版本中。

希望這會有所幫助。

+0

我們中的一些人運行VS「作爲管理員」,並得到相同的錯誤。我在本地有這個文件夾,它有一個4.5.2的子文件夾和一些裝配圖文件,但是我的連接圖文件夾與其他文件夾有不同的內容。你知道理想的文件夾結構是什麼樣子,所以我們可以繼續這種檢查? – StingyJack

+0

一切都應該在'BindingMaps \ v1'中。下一級是編譯程序集的目標框架。在這個級別中,您將爲每個引用的目標提供'.AssemblyMaps'文件和'.AssemblyMap'文件。下一個級別用於本機框架(運行PostSharp時使用的.NET版本)。由於這是一個緩存並且是懶惰創建的,所以不同的機器可能有不同的內容。如果可能,我們使用全局互斥體進行同步。您可以隨時刪除該文件夾,並且PostSharp應該重新創建它 - 如果可以的話。由於4.1.13缺少錯誤信息,我們無法確定它是哪個文件。 –

相關問題