2014-04-03 23 views
7

Zunächst einmal: Ich bin ein absoluter Anfänger. Ich habe zwei Projekte in einer Lösung. Ein Projekt ist eine Konsolenanwendung, die aus der Windows-Formularanwendung aufgerufen wird. Jetzt möchte ich diese zu einer ausführbaren Datei hinzufügen. Mir wurde gesagt, dass es mit Fody/Costura möglich ist. Ich habe es heruntergeladen und den IncludeAssemblies-Code zur XML-Datei hinzugefügt. Allerdings, wenn ich in den Debug-Ordner gehe, gibt es immer noch die zwei ausführbaren Dateien separat (abgesehen von einigen neuen generierten Dateien) speichert die ausführbare Datei an einem anderen Ort oder habe ich etwas falsch gemacht?Probleme mit Fody/Costura

Antwort

4

Es könnte sein, dass Fody/Costura die separaten DLL-Dateien (.NET Assemblies) bereits in die EXE eingebunden hat. Es kümmert sich nicht darum, diese für Sie zu löschen. Sie können leicht überprüfen, ob dies der Fall ist, indem Sie einfach die ausführbare Datei zusammen mit anderen Abhängigkeiten außer den Assemblies aus dem Ausgabeverzeichnis kopieren und sehen, ob sie ausgeführt wird.

+0

auch die Duplikate bereinigen arbeiten, natürlich können Sie einen Montageinspektoren wie Reflector verwenden im Lokale kopieren, um zu sehen referenzierten Assemblys wird als Ressourcen eingebettet in Ihre endgültige exe/dll. – kkahl

1
<Target 
    AfterTargets="AfterBuild;NonWinFodyTarget" 
    Name="CleanReferenceCopyLocalPaths" > 
    <Delete Files="@(ReferenceCopyLocalPaths->'$(OutDir)%(DestinationSubDirectory)%(Filename)%(Extension)')" /> 
</Target> 

in der Projektdatei sollte auch