Issue with VersionAssemblyInfoFiles activity Usage

Oct 5, 2011 at 9:43 AM

Hi

I am using the "Harder Installation but More Instructive" step to configure my TFS 2010 Workflow with the VersionAssemblyInfoFiles activity.

TFS 2010 workflow works fine without this activity. Whenever integrate the custom activity, it throws the following error message

"Cannot create unknown type '{clr-namespace:TfsBuild.Versioning.Activities;assembly=TfsBuild.Versioning.Activities}VersionAssemblyInfoFiles'."

Tried the following options

1. Opened the XAML file and observer that the XML namespace declaretioon contains assembly name

                xmlns:tva="clr-namespace:TfsBuild.Versioning.Activities;assembly=TfsBuild.Versioning.Activities"

2. Registered the assembly in the TFS build server. As the assembly is based on .Net 4.0, it appeared under %windir%\Microsoft.Net\Assembly.

Any suggestions to fix the issue will be of great help.



Thanks in advance

Ambily

Coordinator
Oct 11, 2011 at 5:31 PM

Ambily,

I used your build template in my environment and got the same error when the assembly was installed in the GAC and NOT in a folder used by the controller. When the assembly is in a folder that the build controller searches, the build works. Apparently, the TFS build system is relying on the custom assemblies to be in the shared folder. I actually hadn’t tried to do the build using only the GAC. I only used the GAC for build template creation and then removed from the GAC for testing within the build process.

You say that you’re not able to update the custom assembly path for the controller. Either I don’t understand the real reason around why this is an issue or possibly you’re missing how the custom assembly capability is intended to be used. The location that you point to within the build controller can be a folder within any team project inside of TFS. Within the environments that I work with, I actually create a special “shared” team project where I can create folders to hold all of my reusable build templates and another folder to hold all of the custom assemblies that could be used in the builds. This way they’re not attached to any specific project and I get more reuse out of the templates and activities. This shared team project is also where I can do development for some of the custom assemblies that are used by more than one team project.

 

So, hanging off of the shared team project are 2 folders “BuildProcessTemplates” and “Custom Activity Storage” and I use them to manage the templates and assemblies. The build definitions that you create in other team projects can access and utilize the templates in this location. The build does not require that templates exist within the team project where the source code being built exists.

 

Even if you don’t want to create a shared build template location, you still can share the assemblies in this manner.

Oct 12, 2011 at 3:05 AM

Thanks Mark

Thanks for the explanation and guidance’s. I will modify the custom assembly path in build controller and will verify the issue.

Thanks
Ambily K K
http://ambilykk.wordpress.com/



From: [email removed]
To: [email removed]
Date: Tue, 11 Oct 2011 10:31:58 -0700
Subject: Re: Issue with VersionAssemblyInfoFiles activity Usage [TFSVersioning:274819]

From: marknic
Ambily,
I used your build template in my environment and got the same error when the assembly was installed in the GAC and NOT in a folder used by the controller. When the assembly is in a folder that the build controller searches, the build works. Apparently, the TFS build system is relying on the custom assemblies to be in the shared folder. I actually hadn’t tried to do the build using only the GAC. I only used the GAC for build template creation and then removed from the GAC for testing within the build process.
You say that you’re not able to update the custom assembly path for the controller. Either I don’t understand the real reason around why this is an issue or possibly you’re missing how the custom assembly capability is intended to be used. The location that you point to within the build controller can be a folder within any team project inside of TFS. Within the environments that I work with, I actually create a special “shared” team project where I can create folders to hold all of my reusable build templates and another folder to hold all of the custom assemblies that could be used in the builds. This way they’re not attached to any specific project and I get more reuse out of the templates and activities. This shared team project is also where I can do development for some of the custom assemblies that are used by more than one team project.

So, hanging off of the shared team project are 2 folders “BuildProcessTemplates” and “Custom Activity Storage” and I use them to manage the templates and assemblies. The build definitions that you create in other team projects can access and utilize the templates in this location. The build does not require that templates exist within the team project where the source code being built exists.

Even if you don’t want to create a shared build template location, you still can share the assemblies in this manner.
Read the full discussion online.
To add a post to this discussion, reply to this email (TFSVersioning@discussions.codeplex.com)
To start a new discussion for this project, email TFSVersioning@discussions.codeplex.com
You are receiving this email because you subscribed to this discussion on CodePlex. You can unsubscribe on CodePlex.com.
Please note: Images and attachments will be removed from emails. Any posts to this discussion will also be available online at CodePlex.com