ich gehackt zusammen einen Einsatz automatisiert, die bisher geleistete Arbeit zu sein scheint:
Fügen Sie Ihr WebJob Projekt als Build-Abhängigkeit auf Ihre Website-Projekt
ich meine WebJob auf einem eigenständigen Azure Webseite bereitstellen, Die Website bezog sich also nicht direkt auf das Projekt. Ich möchte nicht die Build-Ausgabe des WebJob-Projekts, das in der Bin der Website enthalten ist, sondern nur den richtigen app_data-Pfad. Wenn Sie keine Bedenken hinsichtlich der MSBuild-Kompatibilität haben, können Sie die Buildabhängigkeit mithilfe von Visual Studio festlegen. Oder Sie können die Website-Projekt bearbeiten und einen Verweis mit den anderen <Reference>
Tags hinzufügen:
<ProjectReference Include="..\PathToJobs\Jobs.csproj">
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
Auf Postbuild, kopieren Sie die WebJob bin Ausgabe an den magischen Ordner App_Data
WebJobs erwartet in app_data\jobs\[type]\[name]
zu sein , so kopieren wir die WebJob ist auf den betreffenden Ordner in dem Website-Projekt:
set webjob_dist_path=$(ProjectDir)app_data\jobs\continuous\Job
IF EXIST "%webjob_dist_path%" (
RMDIR "%webjob_dist_path" /S /Q
)
XCOPY "$(SolutionDir)Jobs\bin\$(ConfigurationName)\*" "%webjob_dist_path" /Q /E /I /Y
die Website Sagen Sie die WebJob Magie Ordner, wenn einschließen es setzt
(siehe: How do you include additional files using VS2010 web deployment packages?)
<PropertyGroup>
<CopyAllFilesToSingleFolderForPackageDependsOn>
CustomCollectFiles;
$(CopyAllFilesToSingleFolderForPackageDependsOn);
</CopyAllFilesToSingleFolderForPackageDependsOn>
<CopyAllFilesToSingleFolderForMsdeployDependsOn>
CustomCollectFiles;
$(CopyAllFilesToSingleFolderForPackageDependsOn);
</CopyAllFilesToSingleFolderForMsdeployDependsOn>
</PropertyGroup>
<Target Name="CustomCollectFiles">
<ItemGroup>
<_CustomFiles Include="app_data\jobs\**\*" />
<FilesForPackagingFromProject Include="%(_CustomFiles.Identity)">
<DestinationRelativePath>%(RelativeDir)%(Filename)%(Extension)</DestinationRelativePath>
</FilesForPackagingFromProject>
</ItemGroup>
</Target>
Stellen Sie die Website der normalen Azure veröffentlichen Profile verwenden. Erledigt!
Eine Problemumgehung besteht darin, diese Verzeichnisse über FTP zu erstellen. Aber ich glaube, dass Sie keinen Schreibzugriff auf Verzeichnisse in einem anderen AWS als dem Stammverzeichnis haben. Wenn Sie also in diese Verzeichnisse schreiben möchten, können Sie dies nicht tun. – lopezbertoni