2010-05-14 6 views
3

J'ai récemment mis à niveau un projet vers VS2010 - les fichiers projet/solution sont mis à jour, mais je cible toujours .NET 3.5.Erreurs NAnt lors de la génération d'informations d'assemblage après la mise à niveau du projet vers VS2010

Jusqu'à présent, mon script de construction NAnt standard ne m'a posé aucun problème. Cependant, il semble qu'après la mise à jour du projet, et updating the NAnt config pour être conscient du nouvel outil, je reçois maintenant une erreur lors de la génération automatique des informations d'assemblage, qui échoue la construction. La tâche de construction pertinente est la suivante:

<asminfo output="${dir.src}\${file.commonAssemblyInfo}" language="${project.codeLanguage}"> 
    <imports> 
     <import namespace="System.Reflection" /> 
    </imports> 
    <attributes> 
     <attribute type="AssemblyVersionAttribute" value="${project.fullversion}" /> 
     <attribute type="AssemblyFileVersionAttribute" value="${project.fullversion}" /> 
     <attribute type="AssemblyInformationalVersionAttribute" value="${project.fullversion}" /> 
     <attribute type="AssemblyCopyrightAttribute" value="${assembly.copyright}" /> 
     <attribute type="AssemblyCompanyAttribute" value="${assembly.company}" /> 
     <attribute type="AssemblyConfigurationAttribute" value="${project.config}" /> 
     <attribute type="AssemblyTrademarkAttribute" value="${assembly.trademark}" /> 
     <attribute type="AssemblyProductAttribute" value="${assembly.product}" /> 
    </attributes> 
</asminfo> 

L'erreur est mise en évidence pour la première ligne de la tâche asminfo. Il lit:

Le fichier AssemblyInfo 'C: \ Users \ Grant \ Projets \ VisualStudio \ Checklist \ src \ CommonAssemblyInfo.cs' n'a pas pu être généré. Cette méthode utilise implicitement la stratégie CAS, qui a été rendue obsolète par le .NET Framework. Pour activer la stratégie CAS pour des raisons de compatibilité, utilisez le commutateur de configuration NetFx40_LegacySecurityPolicy. S'il vous plaît voir http://go.microsoft.com/fwlink/?LinkID=155570 pour plus d'informations.

J'ai rassemblé jusqu'ici que ceci est quelque chose de nouveau à .NET 4. Quelqu'un at-il dû adresser cette erreur avant? Est-ce que quelqu'un sait ce que c'est asminfo qui peut déclencher l'erreur?

Répondre

1

Je crois que je l'ai compris. Il s'avère que certains aspects de sécurité de la structure ont été modifiés, ce que le nouvel outil prend en compte, mais que l'ancienne version de NAnt ne fait pas (utilisait 0,85).

J'ai mis à jour mon NAnt en utilisant le latest nightly from the NAnt site (0,91 est en version bêta, a le support de .NET 4), redéfinir ma construction, et cela a fonctionné. J'ai dû résoudre un problème distinct, mais la construction fonctionne maintenant.

0

L'équipe NAnt vient de sortir le NAnt 0.91 Alpha 1, avec le support .NET 4.0 (expérimental). S'il vous plaît télécharger pour tester et fournir vos commentaires précieux à l'équipe.

Merci.

+0

J'ai vu que les nouvelles récemment ... fait l'alpha remplace le précédent tous les soirs, à partir du 12 mai? –

+0

NAnt 0.91 Alpha 1 a été libéré le 30 mai. Donc oui, il remplace tous les soirs du 12 mai. – Charles

0

Pour ignorer la règle de StyleCop et de le corriger, vous pouvez ajouter à fichier * .csproj réglage suivant:

<ExcludeFromStyleCop>true</ExcludeFromStyleCop> 

comme ceci:

<Compile Include="Properties\AssemblyInfo.cs"> 
     <ExcludeFromStyleCop>true</ExcludeFromStyleCop> 
    </Compile> 
Questions connexes