FB7 upgrade issue (assemblyinfo.cs)

I have several branches of the same software (multi visual studio .sln based) that is failing to build since upgrading to final builder 7 (from 6).

Most of the solution files build correctly (using 'Build VS.Net Solution' action) but one is failing on all branches since the upgrade. The problem appears to be with the setting of AssemblyInfo.cs. With all the other projects the values are correctly set using the values supplied in the action (Values not set are left blank - only the modified values are changed). With the solution that is failing to build final builder seems to be replacing the AssemblyInfo.cs rather than modifying it. This results in the required 'using' assemblies being missing from the top of the file so msbuild is unable to understand the version information in the file.

Here is the log output:

Creating directory "obj\Debug\".

Creating directory "bin\Debug\".

Processing resource file "ResetAuditEventHashForm.resx" into "obj\Debug\ABC.Software.Client.RepairEvents.RepairForm.resources".

Processing resource file "Properties\Resources.resx" into "obj\Debug\ABC.Software.Client.RepairEvents.Properties.Resources.resources".

Properties\AssemblyInfo.cs(2,12): error CS0246: The type or namespace name 'AssemblyCompany' could not be found (are you missing a using directive or an assembly reference?)

Properties\AssemblyInfo.cs(2,12): error CS0246: The type or namespace name 'AssemblyCompanyAttribute' could not be found (are you missing a using directive or an assembly reference?)

Properties\AssemblyInfo.cs(3,12): error CS0246: The type or namespace name 'AssemblyProduct' could not be found (are you missing a using directive or an assembly reference?)

Properties\AssemblyInfo.cs(3,12): error CS0246: The type or namespace name 'AssemblyProductAttribute' could not be found (are you missing a using directive or an assembly reference?)

Properties\AssemblyInfo.cs(4,12): error CS0246: The type or namespace name 'AssemblyCopyright' could not be found (are you missing a using directive or an assembly reference?)

Properties\AssemblyInfo.cs(4,12): error CS0246: The type or namespace name 'AssemblyCopyrightAttribute' could not be found (are you missing a using directive or an assembly reference?)

Properties\AssemblyInfo.cs(5,12): error CS0246: The type or namespace name 'AssemblyTrademark' could not be found (are you missing a using directive or an assembly reference?)

Properties\AssemblyInfo.cs(5,12): error CS0246: The type or namespace name 'AssemblyTrademarkAttribute' could not be found (are you missing a using directive or an assembly reference?)

Properties\AssemblyInfo.cs(6,12): error CS0246: The type or namespace name 'AssemblyFileVersion' could not be found (are you missing a using directive or an assembly reference?)

Properties\AssemblyInfo.cs(6,12): error CS0246: The type or namespace name 'AssemblyFileVersionAttribute' could not be found (are you missing a using directive or an assembly reference?)

Properties\AssemblyInfo.cs(7,12): error CS0246: The type or namespace name 'AssemblyVersion' could not be found (are you missing a using directive or an assembly reference?)

Properties\AssemblyInfo.cs(7,12): error CS0246: The type or namespace name 'AssemblyVersionAttribute' could not be found (are you missing a using directive or an assembly reference?)

Done Building Project "D:\ABC software\Source\Tools\ResetHashes\ResetHashes\ResetHashes.csproj" (Rebuild target(s)) -- FAILED.

 

To explain better here is a correct file:

using System.Reflection;

using System.Runtime.CompilerServices;

using System.Runtime.InteropServices;

 

// General Information about an assembly is controlled through the following 

// set of attributes. Change these attribute values to modify the information

// associated with an assembly.

[assembly: AssemblyTitle("ABCLogViewer")]

[assembly: AssemblyDescription("")]

[assembly: AssemblyConfiguration("")]

[assembly: AssemblyCompany("ABC Systems Ltd.")]

[assembly: AssemblyProduct("ABC  Software")]

[assembly: AssemblyCopyright("© 2011 ABC Systems Ltd.")]

[assembly: AssemblyTrademark("ABC Software")]

[assembly: AssemblyCulture("")]

[assembly: AssemblyVersion("3.2.1.227")]

[assembly: AssemblyFileVersion("3.2.1.227")]

 

Here is the broken file (notice the missing 'using's):

#region Assembly Information Added By FinalBuilder

[assembly: AssemblyCompany("ABC Systems Ltd.")]

[assembly: AssemblyProduct("ABC  Software")]

[assembly: AssemblyCopyright(" © 2011 ABC Systems Ltd .")]

[assembly: AssemblyTrademark(" ABC Software ")]

[assembly: AssemblyFileVersion("3.2.1.227")]

[assembly: AssemblyVersion("3.2.1.227")]

#endregion

 

Does anyone have any idea why this file is being generated rather than edited like the rest?

Thanks.

Further info:

Finalbuilder 7.0.0.1682
Finalbuilder Server 7.0.0.317
Windows XP SP3 with most hotfixes
Visual Studio 2010 SP1
Visual Studio 2008 SP1

Edit: The latest branch which was converted to Visual Studio 2010 builds ok. I'm going to investigate the differences between the 2010 solution and the 2008 (I can't convert the old branches) to see if I can find any difference. Still appricate any input into why this might be happening?

Hi Philip

Can you please send your FinalBuilder project and the offending AssemblyInfo file to support at finalbuilder dot com so that we can investigate the problem further?

Regards,
Steve

Sent. It might be related to the UTF8 encoding of the assemblyinfo.cs. Visual studio 2008 didn’t have an issue but 2010 did (and converted it). I’ve converted the file in 2010 and trying the build again.

Yes converting the assemblyinfo.cs with visual studio 2010 appears to have fixed the problem. It interesting that Finalbuilder 6 didn’t have an issue with the same file but final builder 7 did. Any chance FB7 handling of this sort of bad encoding be improved? I have fixed all our active branches but it would be nice to know the older ones work in the future?