Hi,

I've created two new tasks. Before I post them to the list, I would like
to know it there's interest.

First, a wrapper Nant task for FxCop, which can be found at
http://www.gotdotnet.com/team/fxcop. This tools checks for compliance
with the .NET Design guidelines. The task basically wraps FxCopCmd.exe.
A suggestions for such a task was made almost a year ago
(http://www.mail-archive.com/[EMAIL PROTECTED]/msg00
683.html), but I don't see it in CVS, so I guess nobody ever took time
to create it. 

FxCop is a major pain, btw. It requires that all reference assemblies of
the target assembly are either in the GAC or in the same directory. I
found no way to get around this.
It also requires that you specify the rules (directory) to use. Why the
folks in Redmond couldn't do a simple
AppDomain.CurrentDomain.BaseDirectory and append "rules" to it (since
that's its default location) is beyond me.

Enough ranting, you can use the task as follows:

<fxcop target="bin\debug\SomeAssembly.dll" types="MyNameSpace.*"
rules="D:\Program Files\Microsoft FxCop 1.21\Rules"/> 

This checks all types in the namespace MyNameSpace, found in found in
SomeAssembly.

<fxcop target="bin\debug" types="MyNameSpace.*" rules="D:\Program
Files\Microsoft FxCop 1.21\Rules"/> 

This checks all all types in the namespace MyNameSpace, found in all
assemblies in bin\debug.

<fxcop rules="D:\Program Files\Microsoft FxCop 1.21\Rules">
        <targets basedir="bin">
        <includes name="**/*.dll" />
        </targets>
</fxcop>

Look, mommy! It's Fully FileSet-Compliant [TM]!

Two final things about this task: FxCopCmd.exe needs to be in your path,
and the default location of the rules is currently
${nant.location}\FxCop. I would prefer to use the FxCop installation
directory (eg. C:\Program Files\Microsoft FxCop 1.21\Rules"), but I do
not know of any (efficient) way to find this path.

Next, the second task: 

This one wraps RegSvcs.exe, The .Net tool to load and register an
assembly, or a COM+ application, or to configures services that you have
added programmatically to your class. Pretty basic stuff.

Use it with: 
<regsvcs assembly="MyServicedComponent.dll"/>

To install MyServicedComponentas a COM+ app.

<regsvcs action="Uninstall" assembly="MyServicedComponent.dll" />

To uninstall it.


Best,

Arjen


-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
nant-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-developers

Reply via email to