我正在使用VSTS作为构建服务器,并且在构建时我想将bin文件夹内容复制到目标的根目录,以及将另一个文件夹中的自定义文件复制到此目标.MSDN建议我使用minimatch模式,但它使用子目录结构复制文件.我对恢复结构不感兴趣.
例如,我得到这个文件夹结构:
Project
MyProjectFiles
bin
x86 (it's build configuration)
Project.exe
Other project files
Project.sln
SomeScrips
script1.ps1
Run Code Online (Sandbox Code Playgroud)
但我想收到这个文件夹结构:
Project.exe
SomeScripts
script.ps1
Run Code Online (Sandbox Code Playgroud)
我可以根据我的要求使用哪种迷你匹配模式?
我有一个现有的XAML构建,我正在移植到Visual Studio Team Services构建.有一个解决方案文件,其中包含两个wixproj项目,这在当前(传统XAML)托管构建控制器(使用WiX Toolset v3.7)上没有任何问题.
在VS TS中,我创建了一个新的构建过程,并使用Visual Studio Build步骤添加了构建解决方案的步骤.我已经将解决方案路径设置为包含两个wixproj项目的sln.所有其他选项都是默认值,但超时设置为10分钟.
构建步骤启动但在调用Light.exe步骤后超时,如下面的日志中所示:
PrepareForBuild:
Creating directory "obj\Debug\".
Creating directory "bin\Debug\".
Compile:
C:\Program Files (x86)\WiX Toolset v3.10\bin\candle.exe -dDebug ...
Windows Installer XML Toolset Compiler version 3.10.3.3007
Copyright (c) .NET Foundation and contributors. All rights reserved.
{myfile}.wxs
Link:
C:\Program Files (x86)\WiX Toolset v3.10\bin\Light.exe -out ...
Windows Installer XML Toolset Linker version 3.10.3.3007
Copyright (c) .NET Foundation and contributors. All rights reserved.
##[error]The task has timed out.
Run Code Online (Sandbox Code Playgroud)
构建将运行10分钟,然后抛出超时错误.通常需要约1分钟才能完成.日志中没有关于这可能超时的原因或原因.
我看到VS …
我的同事有一个当地分支机构.他从VS Team Explorer"发布"它.它显示在Visual Studio Online的分支列表中.
我连接到相同的TFS-Git系统,通过VS登录,通过团队资源管理器连接,但是当我查看我可以从中克隆的分支列表时,它不存在.
我最终使用命令行查看所有分支,但它甚至没有出现在那里.这是一个截图:

我错过了什么?这对我们来说是一个严重的问题.
提前致谢.
UPDATE
我不确定它做了什么,但我现在可以在团队资源管理器中看到分支.我最好的猜测是它与发布"主"和"开发"分支的手动"获取"有关.我很惊讶需要看远程分支机构.它基本上就像你必须获取并缓存远程分支信息,然后发出另一个命令(branch -r)来查看你缓存的内容.这可能不是发生的事情,但这是我最好的猜测.我希望它可以帮助别人.
我在Team Services中使用持续集成功能(Visual Studio Online).我的构建定义针对的是解决方案(而不是整个解决方案)中的特定项目,即ClientUI MVC网站.
该解决方案包含三个项目:
ClientUI项目的构建定义:
存储库:
Visual Studio Build
在尝试定位单个项目之前,我的构建定义是使用以下参数定位整个解决方案:
它工作正常.但是现在,它会在Nugget Restore任务中生成此错误:
2016-04-22T21:07:00.6716725Z Set workingFolder to default: C:\LR\MMS\Services\Mms\TaskAgentProvisioner\Tools\agents\1.98.1\tasks\NuGetInstaller\0.1.25
2016-04-22T21:07:00.8163908Z Executing the powershell script: C:\LR\MMS\Services\Mms\TaskAgentProvisioner\Tools\agents\1.98.1\tasks\NuGetInstaller\0.1.25\NuGetInstaller.ps1
2016-04-22T21:07:01.5283529Z ##[error]Cannot find path 'C:\a\1\s\packages.config' because it does not exist.
2016-04-22T21:07:01.5439897Z C:\LR\MMS\Services\Mms\TaskAgentProvisioner\Tools\agents\1.98.1\agent\worker\tools\NuGet.exe restore "C:\a\1\s\packages.config" -NonInteractive
2016-04-22T21:07:03.0441507Z MSBuild auto-detection: using msbuild version '14.0' from 'C:\Program Files (x86)\MSBuild\14.0\bin'.
2016-04-22T21:07:03.0597010Z ##[error]Cannot determine the packages folder to restore …Run Code Online (Sandbox Code Playgroud)msbuild continuous-integration nuget-package-restore azure-devops azure-pipelines
即使在我使用的Microsoft网站上,我似乎也能找到答案:
EXECUTE @RetCode = sp_OAMethod @FileSystem,
'OpenTextFile',
@FileHandle OUTPUT,
@FilePath,
8,
1
Run Code Online (Sandbox Code Playgroud)
我想知道结局int参数(1)的作用以及有什么其他选项.我试验并使用了2但没有看到任何差异.
我知道第二个最后一个int参数(8)指定了一个追加vs使用2写,但也不知道该参数的其他值.
我正在考虑在自定义框架的命名空间中使用带变音标记的字符(例如,ō).这个想法已经成为区分产品的一种方式,但我想确定这不是一个坏主意,如果有任何关于它的东西会在稍后再次出现.我没有看到在我的搜索中使用特殊字符的命名空间的其他示例,也没有关于此主题的任何类似讨论,这让我暂停继续沿着这条路走下去.
我最初也在考虑用变音符号命名程序集,但我遇到的第一个showstopper是试图对程序集进行数字签名.我无法在命令提示符中显示特殊字符,因此我收到了无效输入错误.也许还有另一种解决方法吗?
我意识到,它使得在Visual Studio中输入命名空间更具挑战性.然而,我并不认为这是一个主要问题,因为角色将接近我正在使用的词的末尾,这个词将是相当独特的,并且使用IntelliSense这不应该是一个大问题.
请考虑以下示例,包含在程序集Macron.dll中:
namespace Macr?n.Library
{
public class MyLibrary
{
public string MyProperty { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
生成和使用此Macron.dll似乎没有问题,并且没有区分此示例Macrōn.Library命名空间的问题.文件,文件夹,项目和解决方案名称Macrōn似乎没有引起任何问题,一切似乎与源代码控制没有任何问题.
在程序集和命名空间中使用变音符号时我缺少的任何其他注意事项或事项?有关绕过我的问题签署大会的任何想法?这种方法是否会失败?是否真的不值得实施,因为它可能令人困惑或难以/模糊使用?
这将变成很多工作后来撤消,所以我想知道在我深入研究这个之前我是否在自己脚下射击.
谢谢.
azure-devops ×5
git ×2
msbuild ×2
.net ×1
c# ×1
namespaces ×1
sql ×1
tfs ×1
tfsbuild ×1
wix ×1