我試圖使用Web安裝項目部署應用程序。我遇到的問題是web.config文件永遠不會被轉換。根據這post這是設計,轉換隻發生在發佈。如果構建安裝項目依次調用其他程序集構建命令,如何正確更新web.config屬性?在構建過程中設置web.config屬性(不通過發佈)
6
A
回答
5
我通過追加虛設web.Template.config文件等安德烈K的這種建議的post,然後調用固定它TransformXml在我的BeforeBuild事件期間像這樣:
<Target Name="BeforeBuild">
<TransformXml Source="$(WebFolderName)Web.Template.config"
Transform="$(WebFolderName)Web.$(Configuration).config"
Destination="$(WebFolderName)Web.config" />
</Target>
2
最簡單的選擇是安裝一個命令行xslt實用程序並在項目的生成後操作中啓動它。您也可以使用許多MSBuild XSLT任務之一併將其添加到.csproj文件中。 (這只是一個MSBuild腳本文件;在底部已有評論,說明如何定製構建。)
您也可以在安裝項目的預生成操作中執行以下任一步驟,而不是Web應用程序的構建後操作。如果您還使用發佈嚮導,則第二個選項可能會更好,因爲它不會干擾發佈服務器上進行的正常XSLT轉換。
微軟XSLT命令行實用程序:http://www.microsoft.com/downloads/en/details.aspx?FamilyID=2fb55371-c94e-4373-b0e9-db4816552e41&displaylang=en
實施例的MSBuild XSLT任務:http://www.arlt.eu/blog/2007/10/01/msbuild-xslt-task/
相關問題
- 1. 通過CustomAction設置屬性
- 2. 在Kivy中通過id設置畫布對象的屬性
- 3. 通過JS SDK屬性發布Feed
- 4. 如何通過屬性過濾器在MVC中設置Razor佈局?
- 5. 代碼簽名應該放置在構建/發佈過程中?
- 6. 通過編程設置設計時屬性中Windows.Forms的控制
- 7. ASP.NET MVC3在web.config中發佈設置
- 8. 如何在發佈過程中通過sbt-release推送/構建Docker鏡像
- 9. 通過javascript設置按鈕屬性
- 10. 通過PHP XML-RPC設置many2many屬性
- 11. 如何設置EpiServer.Url屬性通過
- 12. 通過字符串設置屬性
- 13. 通過UI設置/訪問Application.CutCopyMode屬性
- 14. 通過引用設置對象屬性
- 15. 通過VueRouter設置VueComponent屬性
- 16. 通過PHP文件設置HTML屬性
- 17. 通過Javascript設置contextmenu屬性
- 18. 設置多個屬性通過反射
- 19. VB.net:通過條件設置「NULL」屬性?
- 20. Silverlight:通過XAML設置DateTime屬性?
- 21. 通過屬性設置Treeview HierarchicalDataTemplate
- 22. 如何通過ControlTemplate中的觸發器設置DropShadowEffect的屬性?
- 23. 通過web.config中
- 24. Rails has_many通過在創建時設置屬性
- 25. 通過javascript設置taglib的屬性通過javascript
- 26. 在ASP.NET 4.0中通過Web.config配置NHibernate
- 27. 發佈模型(通過jQuery)回來,所有屬性設置爲默認
- 28. 通過代碼創建web.config
- 29. checkAll通過屬性不會觸發?
- 30. .NET:僅通過Web.config設置Active Directory安全性