Ich habe eine harte Zeit bekommen meine Drittanbieter Non-Referenz-Baugruppen über Webdeploy mit der Visual Studio 2012 UI bereitgestellt. Ich habe einen Ordner namens "Bibliotheken", die einige Baugruppen enthält. über den folgend in der Datei meiner * CSPROJ ich die Build Action zu 'ThirdPartyAssemblies' einstellen:MSBuild Ziele und Visual Studio 2012 Probleme
<ItemGroup>
<AvailableItemName Include="ThirdPartyAssemblies">
<Visible>false</Visible>
</AvailableItemName>
</ItemGroup>
<Target Name="AfterBuild">
<Message Text="Build | Third party assemblies" Importance="high" />
<Copy DestinationFolder="$(OutputPath)" SourceFiles="@(ThirdPartyAssemblies)" SkipUnchangedFiles="true" />
</Target>
Dies funktioniert gut; Wenn ich baue, werden die Assemblies in den Root des bin-Ordners kopiert :-) Jetzt habe ich ein Problem: Ich kann diese Dateien nicht über Webdeploy auf dem Server veröffentlichen. Ich habe viele Dinge probiert, es scheint nur, wie ich kein geeignetes MSBuild Ziel für diese Aufgabe ... Mit Visual Studio 2010 finden kann ich diese nutzen könnten:
<Target Name="MyTargetName">
<Message Text="Deploy | Third party assemblies" Importance="high" />
<Copy DestinationFolder="$(OutputPath)" SourceFiles="@(ThirdPartyAssemblies)" SkipUnchangedFiles="true" />
</Target>
<PropertyGroup>
<OnAfterCopyAllFilesToSingleFolderForPackage>
MyTargetName
</OnAfterCopyAllFilesToSingleFolderForPackage>
</PropertyGroup>
Das Problem ist; das OnAfterCopyAllFilesToSingleFolderForPackage
Ziel wird nicht mehr aufgerufen: -/
Nach dem Graben in die C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Web\Microsoft.Web.Publishing.targets' file, I've also tried 'OnAfterCopyAllFilesToSingleFolderForMsdeploy
, aber ich kann es einfach nicht zur Arbeit bekommen.
Kann mir jemand sagen, welches Ziel ich verwenden kann, um diese Baugruppen in den Paketordner/den Server mit Webdeploy zu kopieren?
Warum kopiert Visual Studio 2012 nicht den vollständigen Fachordner in den Paketordner?
FYI VS2010 verwendet Msbuild 4.0 –
Ich weiß;). Sie brauchen VS überhaupt nicht. MSBuild Teil von .NET FW, so dass Sie es ohne Studio überhaupt verwenden können. Außer dass vs2010 nicht wirklich msbuild.exe verwendet, aber VS2012 tut. Aber dieses Zeug ist pingelig, nicht verwandt mit Frage und Antwort. –