2010-12-30 3 views
5

Ich habe verschiedene DLL, die ich nicht direkt in einer ASP.NET-Website Referenzierung ich über die „Paket/Publish Web“ -Funktion in Visual Studio 2010.Wie fügen Sie eine nicht referenzierte DLL beim Veröffentlichen einer Webanwendung ein?

Wie kann ich die Publishing-Funktion sagen zu veröffentlichen bin versucht, dass Es muss diese bestimmten Dateien enthalten?

Beachten Sie, dass ich diese DLLs nicht direkt referenzieren möchte (die Lösung wurde speziell so eingerichtet, dass diese spezifischen DLLs nicht direkt referenziert werden).

Ich habe eine <ExcludeFilesFromDeployment/> gefunden, aber ich finde keine Möglichkeit, Dateien speziell einzuschließen.

+0

Warum Sie gerade entgegengesetzt sind, um die DLLs Referenzierung ? – Jacob

+1

Wenn die DLLs referenziert werden, könnte der Programmierer diese Klassen in diesen DLLs direkt verwenden, anstatt die Abstraktionsschichten zu verwenden, die ich eingerichtet habe. Konkret habe ich Schnittstellen in einem Projekt (auf das verwiesen wird) und die konkrete Implementierung in einem anderen Projekt (auf das nicht verwiesen wird). Dies alles ist über einen DI-Container verbunden, und ein einfacher Konfigurationsdatei-Eintrag verbindet alles. Ich möchte nicht, dass der Programmierer diese Infrastruktur umgeht. –

+1

Ja Oded, in einer perfekten Welt würden diese Verletzungen von nDepend aufgegriffen werden. Es ist nicht so, dass ich den Entwicklern nicht traue (von denen ich sehr viel mitnehme), ich möchte sie in die "Grube des Erfolges" führen. Wenn ich die Projektreferenzen vereinfachen kann, damit sich das Team nicht leicht in Schwierigkeiten bringen kann, dann ist das ein Gewinn. In einem Team mit unterschiedlichen Erfahrungsebenen in vielen Projekten und auf verschiedenen Plattformen wird jeder Gewinn geschätzt. –

Antwort

1

Es wird nur aus den Ordnern auf Ihrer Website veröffentlichen. Ich habe immer nur die Website auf diese Dateien verweisen, also wenn ich es gebaut habe, waren sie dann lokal auf der Website und würde zusammen mit allem anderen veröffentlicht werden.

+0

Es gibt ein visuelles Studio-Plugin, das tun wird, was Sie wollen. http://www.codedigest.com/Articles/VisualStudio/126_Web_Deployment_Project_for_Visual_Studio_2005_and_2008.aspx – phillip

+0

vs 2010-Version zu: http://blogs.msdn.com/b/webdevtools/archive/2010/05/26/visual-studio-2010 -web-deployment-projects-rtw-available-now.aspx – phillip

+0

Danke phillip - Ich werde diese Links überprüfen. –

4

Sie können sie in das Projekt ein (wie Sie ein Bild hinzufügen) und wenn eine neuere Version auf Ausgabeverzeichnis-Kopieren Sie die Eigenschaft Kopie ändern. Dann, wenn Sie bauen, sollten sie in den Behälter gelegt werden. Das sollte auch funktionieren, wenn Sie es veröffentlichen.

+0

Dies ist sicherlich eine Option, auch wenn es ein bisschen wie ein Hack ist. Vielen Dank! –

+1

Ja. Wir hatten eine ähnliche Lösung wie bei Unity, und ich fühle deinen Schmerz. Wir haben Postbuildereignisse verwendet, um die DLLs in den Papierkorb zu schieben, aber beim Veröffentlichen mussten wir uns daran erinnern, sie manuell zu greifen. – Josh

Verwandte Themen