我正在创建一个自定义构建活动,它从根本上增加版本号。
我已按照本教程进行操作:
http://www.richard-banks.org/2010/07/how-to-versioning-builds-with-tfs-2010.html
该教程可能有点过时了,因为我使用的是 VS/TFS 2012,但是对于我所掌握的领域,教程的内容是无关紧要的。
//Loop through files in the workspace
foreach (var file in Directory.GetFiles(folder.LocalItem, fileMask, SearchOption.AllDirectories))
{
FileAttributes attr = File.GetAttributes(file);
//Set the read only attribute, if we want to
if (readOnlyFlagValue)
{
File.SetAttributes(file, attr | FileAttributes.ReadOnly)
context.TrackBuildMessage(string.Format("Set ReadOnly on {0}", file));
}
//Remove the readonly attribute, if we want to
else
{
File.SetAttributes(file, attr | ~FileAttributes.ReadOnly);
context.TrackBuildMessage(string.Format("Removed ReadOnly from {0}", file));
context.TrackBuildMessage(string.Format("Is ReadOnly = {0}", File.GetAttributes(file).HasFlag(FileAttributes.ReadOnly)));
}
}
在我的日志文件中,我得到:
从 C:\Builds\1 中删除 ReadOnly...
但是我收到的下一条消息是:
是只读的 = 真
这会在该过程的后期引起问题,很明显,当我尝试使用类似WriteAllText
文件的东西时,我得到一个UnauthorizedException
...
我需要改变什么?
谢谢,
卢克