I am using TFS 2013 and I have upgraded my AutoDeploy files from 7.5 to 8.2 recently. I noticed there are a few new arguments that I can provide to TypeMockStart activity. I came across an issue that my tests are somehow still addressing 7.5.6 of TypeMock although I can not find why nor where that is configured. While I was investigating this issue I noticed the LogPath somehow is not configured correctly by default, please review the screens below for more information. I have tried to override the value but although the field is supposed to be of type String I keep getting the message that the L-values expression is invalid. So instead of trying to implement a workaround I think my best option is to get the original problem solved: it should work by default.
The snippet above results in a LogPath where a \ is obviously missing, considering the verbose build-output (focus on the filename) below:
Execute TypeMockStart, Version=220.127.116.11
TypeMockStart Target=, ProfilerLaunchedFirst=False, Link=, LogLevel=3, LogPath=C:\Users\OntwSvUsTfsBuild\AppData\Local\Temp\TypemockTFSBuild_20160112085119.log, EvaluationFolder=,DisableAutoLinkFalse
TypeMockStart Normal=Autolink 6442450944
TypeMockStart Normal=Log Directory C:\Users\OntwSvUsTfsBuild\AppData\Local\Temp\TypemockTFSBuild_20160112085119.log does not exists, Changing to default directory: E:\Builds\15\BZR.Net\BZR_Main_AT\src\Client.Build.Binaries\
TypeMockStart Normal=Typemock Isolator Logging to: E:\Builds\15\BZR.Net\AZR_Main_BT\src\Client.Build.Binaries\
There is a folder Typemock in my Temp-folder, but that is not what the activity is trying to write to. It now concatenated a path that is a filename TypemockTFSBuild_20160112085119.log which does not exist. The strange thing here is that it is changing the default directory to a COMPLETELY IRRELEVANT directory that has NOTHING to do with the currently running build. It is a completely different project and it could potentially contain other AutoDeploy-files! Why would you default-to a previously used folder instead of some static Temp-location?
Then I tried to workaround this issue by overriding the LogPath argument, simply by setting the string-value. I have not managed to finish that as Visual Studio keeps warning me that the value is invalid. Maybe I have worked too hard and try again tomorrow, but what is wrong with setting the LogPath with the value below?
LogPath="[Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\Temp\TypeMock\"]"
ProfilerLaunchedFirst="False" Verbosity="[BuildVerbosity.Diagnostic]" />
The LogPath value above is copied from the XAML source. Visual Studio in Design-Mode shows a message about an "Invalud L-value expression" that I can not explain considering the type of String that is used.
Your insights about all of the questions above is highly appreciated.