根据迄今为止给出的答案,更新这个问题已经发展并得到了扩展。
我想要两件事:(1)Visual Studio 作为我的 Orchard 开发环境和(2)GIT 作为我推送到 Azure 的手段。为此,我下载了 Orchard.Source 发行版而不是 Orchard.Web 发行版。
因此,我使用 GIT 将 Orchard.Source.1.5.1 发行版从本地计算机上的存储库发布到 Azure 网站(预览技术)。部署工作正常,但 Azure 上的后续构建失败,因为它无法确定应该构建哪个解决方案:
远程:无法确定要构建哪个解决方案文件。C:\DWASFiles\Sites\MySite\VirtualDirectory0\site\repository\src\Orchard.sln, C:\DWASFiles\Sites\MySite\VirtualDirectory0\site\repository\src\Orchard.Azure\Orchard.Azure.sln, C: \DWASFiles\Sites\MySite\VirtualDirectory0\site\repository\src\Orchard.Azure\Orchard.Azure.Web\Modules\Orchard.ContentTypes\Orchard.ContentTypes.sln, C:\DWASFiles\Sites\MySite\VirtualDirectory0\site\存储库\src\Orchard.Azure.Tests\Orchard.Azure.Tests.sln, C:\DWASFiles\Sites\MySite\VirtualDirectory0\site\repository\src\Orchard.Web\Modules\Orchard.ContentTypes\Orchard.ContentTypes.sln . 远程:错误 - 更改已提交到远程存储库,但您的网站未更新。
该转储中列出的第一个解决方案 Azure 就是它应该使用的解决方案。我如何告诉 Azure?
在 David Ebbo 的帮助下,我现在明白我问错了问题:
- 使用“.deployment”配置文件解决了问题,并且
指向“正确”的 Visual Stuio 解决方案是不正确的!要通过 GIT 部署到 Azure,我必须指向一个项目文件(在本例中为 Orchard.Web.csproj):
[配置]
项目 = src/Orchard.Web/Orchard.Web.csproj
这让我走得更远,但我的下一个问题是我故意从我的 GIT 存储库中省略了 Orchard.Source 的“lib”文件夹。我错误地认为,如果我为 Orchard.sln 启用“nuget restore”,Azure 中项目文件的构建将获取所需的依赖项。
在 Sebastien 的帮助下,我现在了解到启用 nuget 可能是一场艰苦的战斗,因为一些 Orchard 3rd 方依赖项已经由 Orchard 团队进行了源代码级别的自定义。简而言之,如果我想使用 Orchard.Source 发行版快速启动并运行 - 那么我只需将“lib”文件夹提交到我的 GIT 存储库中(该死!)。
当我通过 GIT 对 Azure 进行下一次推送时,我的编译仍然失败 - 但至少错误数量大大减少了。我认为它现在唯一不高兴的是:
For OrchardFramework.csproj:
Could not find assemblies: Castle.Core, Casstle.DynamicProxy2
Missing type or namespace: Castle, AbstractLoggerFactory, DefaultProxyBuilder
如果我能克服这个问题,我最终可能会两全其美:Visual Studio 开发环境(由于 Orchard.Source 发行版)和支持 GIT 的 Azure 推送。有人知道最后一个问题可能是什么吗?
ps Orchard.Source 发行版中有一个“ClickToBuildAzurePackage.cmd”文件,该文件是在创建“GIT 推送到 Azure”之前创建的。这个小批处理文件试图复制 GIT 推送到 Azure 现在提供的大部分工作。我可能会更多地探索该选项,但当然理想的情况是依赖新的 Azure 内置功能。
更新 2:事实证明,这仅仅是因为lib/*/Castle Windsor 2.0/bin/*
被.gitignore
. 在强制输入这些文件之后,整个事情现在构建和部署!现在唯一的问题是该网站在我访问它时没有给出响应。如有必要,我将把它变成一个单独的问题。照原样,我认为这个特定问题得到了回答。