我想使用文件替换将一些前端资产部署到站点的本地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\
答案 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引用引入。