1

Resolved

No assembly information files were provided

description

When solution not upper than the folder with sources.
 
My sources placed in TRUNK
Solution file placed in TRUNK\MAD.Binaries\Builds\MAD.Madis.sln.
Don't ask me why :)
 
log from TFS Builds (cutted)
....
Versioning assemblies with the following patterns: AssemblyVersion(1.0.0.0) and AssemblyFileVersion(1.0.J.B)
 
00:00
Assign
Initial Property Values
Value = e:\Builds\Temp\2\MAD Projects\MADis Install\Sources\TRUNK\MAD.Binaries\Builds**\AssemblyInfo.
Final Property Values
To = e:\Builds\Temp\2\MAD Projects\MADis Install\Sources\TRUNK\MAD.Binaries\Builds*
\AssemblyInfo.
Value = e:\Builds\Temp\2\MAD Projects\MADis Install\Sources\TRUNK\MAD.Binaries\Builds*
\AssemblyInfo.
 
00:00
FindMatchingFiles
Initial Property Values
MatchPattern = e:\Builds\Temp\2\MAD Projects\MADis Install\Sources\TRUNK\MAD.Binaries\Builds*
\AssemblyInfo.
There were no matches for the search pattern e:\Builds\Temp\2\MAD Projects\MADis Install\Sources\TRUNK\MAD.Binaries\Builds*
\AssemblyInfo.
Final Property Values
MatchPattern = e:\Builds\Temp\2\MAD Projects\MADis Install\Sources\TRUNK\MAD.Binaries\Builds*
\AssemblyInfo.*
Result = System.Linq.OrderedEnumerable2[System.String,System.String]
 
Check out the AssemblyInfo files if necessary
Initial Property Values
Condition = False
Final Property Values
Condition = False
 
00:00
UpdateAssemblyInfoFileVersion
Initial Property Values
AssemblyCompanyReplacementPattern =
AssemblyConfigurationReplacementPattern =
AssemblyCopyrightReplacementPattern =
AssemblyCultureReplacementPattern =
AssemblyDescriptionReplacementPattern =
AssemblyFileVersionReplacementPattern = 1.0.J.B
AssemblyInfoFileList = System.Linq.OrderedEnumerable
2[System.String,System.String]
AssemblyInformationalVersionReplacementPattern =
AssemblyProductReplacementPattern =
AssemblyTitleReplacementPattern =
AssemblyTrademarkReplacementPattern =
AssemblyVersionReplacementPattern = 1.0.0.0
BuildNumber = 2011.10.21.7
BuildNumberPrefix = 0
ForceCreateVersion = True
 
00:00
Process each solution separately
 
00:00
Handle Matching Files
Initial Property Values
Condition = False
No assembly information files were provided
 
end log

comments

marknic wrote Oct 23, 2011 at 9:24 PM

It works this way by design and I will explain why but I do need to ask why you would place the solution in a folder below your projects? The solution is literally the parent of your application so keeping it in that folder position keeps things logically and physically organized.

Reason it doesn't work for you: The workflow needs to have a starting point from which to recursively scan for the assembly info files. It does this by starting at the folder contained by the solution file.

You as the "build master" can identify any set of folders in the workspace to be downloaded as part of the build. Naturally, we want the scan time to be minimized plus we need a starting point for the scan otherwise the scan could find, check-out, modifiy and check in files that aren't really part of your application or for that matter your Team Project.

MarkNic

virusde wrote Oct 24, 2011 at 7:28 AM

I placed solution in this folder, because this solution only convenient form for build server. I have solution in the root folder for developers and I didn`t want that my developers were confused which solution they need to open.

BTW, no any links in documentation about this hidden "by design feature". ;-)

wrote Oct 24, 2011 at 2:15 PM

Nothing hidden here...
 
You have access to the source code.  If you want the behavior that you describe, change it to meet your needs.
 
In the VersionAssemblyInfoFiles.xaml file in the TfsBuild.Versioning.Activities assembly there is an Assign statement a little more than 3/4 of the way down.  It's between the WriteBuildMessage and FindMatchingFiles activities.  Change from:
Path.Combine(Path.GetDirectoryName(SolutionPath), "**", AssemblyInfoFilePattern)
To something like this:
Path.Combine(Path.GetDirectoryName(BuildDirectory), "**", AssemblyInfoFilePattern)
 
That should scan and find every assemblyinfo file you have.  I haven't tried it but it should work.
 
MarkNic