2010-04-22 5 views
6

Est-il possible d'obtenir postsharp pour supprimer les références aux assemblys postsharp lors d'une construction?Supprimer la référence PostSharp après la génération?

J'ai un exe dont j'ai besoin pour avoir un très petit encombrement. Je veux utiliser une partie du temps de compilation de postsharp, mais je ne veux pas avoir à déployer PostSharp.dll avec l'exe.

J'utilise PostSharp 2 (2.0.4.1074 spécifiquement)

+1

Quelle version de PostSharp utilisez-vous? –

+0

@Alex question mise à jour pour inclure l'info – Simon

+0

Avez-vous toujours besoin d'une solution qui n'a pas de dépendance à l'exécution? –

Répondre

2

Pour autant que je sache, cela est impossible. Les références sont nécessaires, car les classes de base de vos aspects sont situées dans l'assembly PostSharp public.

+0

mais si postsharp compile le temps en agitant pour modifier l'assembly, il ne peut pas modifier l'assembly pour supprimer les références? – Simon

+0

Alex a raison. Notez que les aspects sont exécutés lors de l'exécution, ils ne sont pas incorporés dans votre code. Mais vous pouvez utiliser ILMerge pour fusionner PostSharp.dll dans une de vos bibliothèques. –

+0

Effacer. Les références ne peuvent pas être supprimées, car pour exécuter le code des aspects, le framework aura besoin (en particulier) de toutes ses classes de base. Ces classes sont dans PostSharp.dll, donc une tentative de suppression de la référence conduirait à TypeLoadException (ou similaire) à l'exécution. –

Questions connexes