2012-02-01 64 views
3

基於在Visual Studio中選擇的配置,是否有一種可接受的方式來生成ASPX頁面的HTML/ASP部分(而不是後面的代碼)?例如,我想在我的開發着陸頁上顯示不同的頁眉圖形(通知用戶他們正在查看開發的頁眉),以及生成生成的不同圖形。ASPX頁面的SlowChetah-like轉換?

我使用SlowChetah來轉換我的配置文件,所以我的第一個想法是使用類似於ASPX頁面的東西,但是我還沒有找到任何有關該類功能或功能的信息。

回答

1

這可能與DTE對象組合使用T4 text templates來實現,如在Accessing Visual Studio or other Hosts from a T4 Text Template底部所描述的,來獲得當前生成配置和生成ASPX的所需部分:

<#@ template hostspecific="true" #> 
<#@ output extension=".aspx" #> 
<#@ assembly name="EnvDTE" #> 
<#@ import namespace="EnvDTE" #> 
<# 
// Get the environment object 
IServiceProvider serviceProvider = (IServiceProvider)Host; 
DTE dte = serviceProvider.GetService(typeof(DTE)) as DTE; 

// Get the active build configuration object 
var activeConfiguration = dte.Solution.SolutionBuild.ActiveConfiguration; 

// Generate customized ASPX content 
if (activeConfiguration.Name == "Debug") 
{ 
#> 

<h1>Debug</h1> 

<# 
} 
else 
{ 
#> 

<h1>Release</h1> 

<# 
} 
#> 

輸出可以包含在實際的ASPX頁面中,例如通過一個Literal控件,或者作爲一個用戶控件。