PDA

View Full Version : Custom Actions


HippyCraig
08-23-2007, 09:15 AM
I have writen a few custom actions for Visual Build. I have followed the examples for VB.Net. The example included is for VS2003 can the same code work with VS2005.

I want to keep my code current and want to upgrade to the lastest framework for my custom action.

Thanks,
Craig

kinook
08-23-2007, 12:22 PM
Originally posted by HippyCraig
I have writen a few custom actions for Visual Build. I have followed the examples for VB.Net. The example included is for VS2003 can the same code work with VS2005.
Yes.

HippyCraig
08-28-2007, 04:40 PM
I have converted my Custom action to VS2005 and I am getting warning about not being CLS-compliant.

Below is a code snippit:
<System.Runtime.InteropServices.ProgId("ACE.VisualBuild.SelectVersion")> Public Class SelectVersion
Implements VisBuildSvr.ICustomAction

Public Function BuildStep(ByVal Builder As VisBuildSvr.Builder, ByVal [step] As VisBuildSvr.IStep) As VisBuildSvr.StepStatusEnum Implements VisBuildSvr.ICustomAction.BuildStep

In the function Decleration "BuildStep", "Builder", "[step]" are underlined in the VS2005 IDE with a warning about CLS-compliant. I know I can ignore the warning and everthing compiles but I was wondering why I am getting this? I found the following on MSD that describes the warning in more detail

http://msdn2.microsoft.com/en-us/library/x97t56y6(vs.80).aspx

Any thoughts?

kinook
08-28-2007, 05:06 PM
I'm not really sure. I don't get any warnings when building or in the IDE after opening, converting, and building the VBNETAction sample in VS2005 SP1. I don't see any place that the function is marked CLS Compliant.

HippyCraig
08-29-2007, 09:00 AM
I have attached the source code when you open it you should see warnings about the above error

kinook
08-29-2007, 12:30 PM
Remove the line

<Assembly: CLSCompliant(True)>

from AssemblyInfo.vb

or add

<CLSCompliant(False)>

in front of Public Function BuildStep(... in SelectVersion.vb.