亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

讓VisualStudio在每個構建上運行一個T4模板

讓VisualStudio在每個構建上運行一個T4模板

讓VisualStudio在每個構建上運行一個T4模板如何獲得T4模板以在每次構建時生成其輸出?就像現在一樣,它只在我更改模板時才重新生成它。我發現了其他類似的問題:Visual Studio中的T4轉換與生成順序(未答復)如何在Visualstudio中生成T4文件?(答案不夠詳細(但仍然很復雜),甚至沒有完全意義)必須有更簡單的方法來做到這一點!
查看完整描述

3 回答

?
弒天下

TA貢獻1818條經驗 獲得超8個贊

我用Joelfan的回答提出了這個問題。我更喜歡它,因為您不必記得每次向項目添加新的.tt文件時都要修改預構建事件。

  • 將TextTransform.exe添加到

    %PATH%

  • 創建了一個名為Transform_all.bat的批處理文件(見下文)
  • 創建預構建事件“

    transform_all ..\.."

變換所有蝙蝠

@echo off
SETLOCAL ENABLEDELAYEDEXPANSION

:: set the working dir (default to current dir)
set wdir=%cd%
if not (%1)==() set wdir=%1

:: set the file extension (default to vb)
set extension=vb
if not (%2)==() set extension=%2

echo executing transform_all from %wdir%
:: create a list of all the T4 templates in the working dir
dir %wdir%\*.tt /b /s > t4list.txt

echo the following T4 templates will be transformed:
type t4list.txt

:: transform all the templates
for /f %%d in (t4list.txt) do (
set file_name=%%d
set file_name=!file_name:~0,-3!.%extension%
echo:  \--^> !file_name!    
TextTransform.exe -out !file_name! %%d
)

echo transformation complete


查看完整回答
反對 回復 2019-07-04
?
翻閱古今

TA貢獻1780條經驗 獲得超5個贊

我同意GarethJ-在VS 2010中,在每個構建上重新生成TT模板要容易得多。奧列格·賽奇的博客描述了如何做到這一點。簡言之:

  1. 安裝

    VisualStudioSDK

  2. 安裝

    VisualStudio 2010建模和可視化SDK

  3. 在文本編輯器項目文件中打開并添加到文件末尾,但在此之前

    </Project>

就這樣。打開你的項目。在每個構建中,所有*.tt模板都將被重新處理。


<!-- This line could already present in file. If it is so just skip it  -->

<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

<!-- process *.tt templates on each build  -->

<PropertyGroup>

    <TransformOnBuild>true</TransformOnBuild>

</PropertyGroup>

<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\TextTemplating\v10.0\Microsoft.TextTemplating.targets" />


查看完整回答
反對 回復 2019-07-04
?
慕碼人8056858

TA貢獻1803條經驗 獲得超6個贊

有一個很棒的NuGet軟件包就是這樣做的:

PM> Install-Package Clarius.TransformOnBuild

有關該包的詳細信息可以如下在這里發現的


查看完整回答
反對 回復 2019-07-04
  • 3 回答
  • 0 關注
  • 1345 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號