我有一個可執行文件,我想與我的Azure Web角色一起部署。該可執行文件還需要包含一個配置文件。 我嘗試在我的web角色項目中添加對可執行文件項目的引用,這使得exe文件出現在cspkg的bin文件夾中,而不是配置文件。 我怎樣才能獲得配置文件? 將它直接作爲內容文件包含在Web角色項目中似乎是錯誤的,因爲此文件是構建工件(在構建過程中,app.config被重命名爲.config.exe)。在cspkg中包含引用程序集的配置
謝謝!
我有一個可執行文件,我想與我的Azure Web角色一起部署。該可執行文件還需要包含一個配置文件。 我嘗試在我的web角色項目中添加對可執行文件項目的引用,這使得exe文件出現在cspkg的bin文件夾中,而不是配置文件。 我怎樣才能獲得配置文件? 將它直接作爲內容文件包含在Web角色項目中似乎是錯誤的,因爲此文件是構建工件(在構建過程中,app.config被重命名爲.config.exe)。在cspkg中包含引用程序集的配置
謝謝!
在早期的SDK他們補充作用的內容文件夾的概念,或文件夾,您可以指向在服務定義文件,並說此文件夾中任何東西,它添加到包中,並與角色進行部署。如果您查看服務定義的架構,您將看到這些在web和worker角色模式中都列出了這些模式。您可以手動添加並指向本地系統上的任何位置,並且該目錄中的任何內容都將被選中幷包含在內。
<WebRole name="SimpleWeb" vmsize="Small">
...
<Contents>
<Content destination="ConsoleApp">
<SourceDirectory path="c:\src\SimpleWebContent\ConsoleApp\BuildOutput" />
</Content>
</Contents>
</WebRole>
例如,你可以點到構建的輸出目錄爲可執行,這樣由您的構建生成該可執行任何將被包括在內。您可以根據應用程序根目錄設置目標目錄,但棘手的部分是源目錄。請注意,在上面的示例中提供了完整路徑。該文件說,你可以使用相對路徑,但我嘗試了很多組合,行爲看起來很古怪。完整的路徑確實有效。
的VS SDK工具沒有暴露這一點,直到SDK 1.7,它仍然不是很好。菲爾霍夫在它上面寫了一篇名爲「Add Files to your Windows Azure Package using Role Content Folders」的博客文章。請注意,當您使用這種添加文件的方法時,您將看不到內容元素出現在您的服務定義中。他們在包裝時間自動注入。如果您將此作爲構建過程的一部分,而這些構建過程可能不會發生,因爲VS工具正在進行注入,但爲了公平起見,我沒有直接調用cspack來查看是否將包含在服務定義文件中的內容元素實際打包那些還是不是。此外,我發現只是添加一個新文件夾,只是在該文件夾下的文件似乎沒有工作。我不得不通過名字在那裏添加文件,這似乎是錯誤的。我確實破解了.ccproj文件,在文件夾include上使用了一個通配符,該文件確實有效,但對我來說似乎也是一種破解。
感謝您的詳細回答,我不知道角色內容文件夾功能。 – user1039580