TDS文件替换

时间:2016-01-08 18:43:06

标签: deployment tds

我想使用文件替换将一些前端资产部署到站点的本地Web根目录。我似乎无法使用目标位置字段中的相对路径。是不是可以这样做,或者我应该使用post build事件吗?

这些资产未包含在项目中的原因是它们是第三方解决方案的一部分,但我们仍然希望在源代码管理中跟踪这些资源,以便更轻松地进行项目设置。

对于具有相同文件结构的此项目,大多数开发人员机器将以相同的方式设置,但我认为如果我可以使目标成为相对路径则更灵活,所以我不需要担心像驱动器这样的差异信件等。

文件夹结构如下:

import pygame
import time

pygame.init()
def draw_grid(grid):
    for i in range(0,len(grid)):
        for j in range(0,len(grid[i])):
            area = (j*10, i*10, 8, 8)
            if grid[i][j] == 0:
                fill = True
                color = 0,0,0
            elif grid[i][j] == 1:
                fill = False
                color = 0,0,0
            elif grid[i][j] == 2:
                fill = False
                color = 255,0,0
            square = pygame.draw.rect(screen, color, area, fill)

def make_empty_grid(width,height):
    grid = []
    for i in range(height):
        zeros = []
        for j in range(width):
            zeros.append(0)
        grid.append(zeros)
    return grid

def draw_item(item, x, y):
    for i in range(0, len(item)):
        for j in range(0, len(item[i])):
            grid[i + x][j + y] = item[i][j]

size = width, height = 600, 400
#rects = 
screen = pygame.display.set_mode(size)

running = True

#beige background
background = 213, 230, 172 
black = 0, 0, 0
red = 255, 0, 0

image1 = [
         [1,0,1,1,1,0,1],
         [0,1,0,0,0,1,0],
         [1,0,1,0,1,0,1],
         [1,0,0,0,0,0,1],
         [1,0,1,1,1,0,1],
         [1,0,0,0,0,0,1],
         [0,1,1,1,1,1,0]
         ]

image2 = [
         [1,0,1,1,1,0,1],
         [0,1,0,0,0,1,0],
         [1,0,1,0,1,0,1],
         [1,0,0,0,0,0,1],
         [1,0,0,1,0,0,1],
         [1,0,0,0,0,0,1],
         [0,1,1,1,1,1,0]
         ]

bars = [
       [2,2,2,2,2,2,2,2,2,2],
       [2,2,2,2,2,2,2,2,2,2]
       ]


tamaPosX = 27
tamaPosY = 8

curImage = image1
while running:
    # Get the window input
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_LEFT:
                tamaPosX -= 1
            if event.key == pygame.K_RIGHT:
                tamaPosX += 1
            if event.key == pygame.K_UP:
                tamaPosY -= 1
            if event.key == pygame.K_DOWN:
                tamaPosY += 1

    screen.fill(background)

    grid = make_empty_grid(width,height)

    if curImage is image1:
        curImage = image2
    else:
        curImage = image1

    draw_item(curImage, tamaPosY, tamaPosX)
    draw_item(bars, 35, 1)

    draw_grid(grid)

    pygame.display.flip()

我已经尝试了以下使用..基于tds在使用“使选定的源位置相对”选项时将源位置更改为(将其从绝对路径更改为repo folderToCopy sitecore webroot ):< / p>

..\folderToCopy\

1 个答案:

答案 0 :(得分:0)

根据我的理解,TDS根据相关网站项目发布的文件进行文件替换。

然后您可以进行相对替换,例如:

<Replacement Include=".\assets\folderToCopy\myFile.txt">
  <TargetPath>.\assets\targetFolder\myFile.txt</TargetPath>
  <IsFolder>False</IsFolder>
  <IsRelative>True</IsRelative>
</Replacement>

我无法成功地让TDS将文件替换用于源代码管理但不在项目中的文件。

我的建议是设置一个构建事件,将这些文件复制到正确的位置,或者为它们创建一个nuget feed并将它们作为nuget引用引入。