azure - 在 cspkg 中包含引用的程序集的配置

标签 azure deployment

我有一个可执行文件,希望与我的 Azure Web 角色一起部署。可执行文件还需要包含一个配置文件。 我尝试在我的 Web 角色项目中添加对可执行文件项目的引用,这使得 exe 文件出现在 cspkg 的 bin 文件夹中,但不是配置文件。 我如何才能将配置文件也包含在内? 将其作为内容文件直接包含在 Web 角色项目中似乎是错误的,因为该文件是构建工件(app.config 在构建期间被重命名为 .config.exe)。

谢谢!

最佳答案

在早期的 SDK 中,他们添加了角色内容文件夹的概念,或者您可以在服务定义文件中指向的文件夹,并说出此文件夹中的任何内容,将其添加到包中并与角色一起部署。如果您查看服务定义的架构,您将看到这些都列在 web 上。和 worker角色模式。您可以手动添加它并指向本地系统上的任何位置,该目录中的任何内容都将被拾取并包含在内。

  <WebRole name="SimpleWeb" vmsize="Small">

    ...

    <Contents>
      <Content destination="ConsoleApp">
          <SourceDirectory path="c:\src\SimpleWebContent\ConsoleApp\BuildOutput" />
      </Content>
    </Contents>
  </WebRole>

例如,您可以指向可执行文件的构建的输出目录,以便包含该可执行文件的构建生成的任何内容。您可以设置与应用程序根目录相关的目标目录,但棘手的部分是源目录。请注意,在上面的示例中提供了完整路径。文档说您可以使用相对路径,但我尝试了很多组合,并且行为看起来非常古怪。完整的路径确实有效。

VS SDK 工具直到 SDK 1.7 才公开这一点,而且它仍然不是很好。 Phil Hoff 在其上发表了一篇名为“Add Files to your Windows Azure Package using Role Content Folders”的博客文章。请注意,当您使用此添加文件的方法时,您将不会看到内容元素出现在服务定义中。它们在打包时被自动注入(inject)。如果您在构建过程中执行此操作,则可能不会发生,因为 VS 工具正在执行注入(inject),但公平地说,我没有尝试直接调用 cspack 来查看服务定义文件中包含的内容元素是否实际打包那些与否。另外,我发现仅添加一个新文件夹并在该文件夹下放置文件似乎不起作用。我实际上必须按名称添加文件,这似乎是错误的。我确实破解了 .ccproj 文件以在文件夹 include 上使用通配符,这确实有效,但对我来说似乎也是一种破解。

关于azure - 在 cspkg 中包含引用的程序集的配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20360119/

相关文章:

c++ - 无需安装程序即可部署

amazon-web-services - AWS Beanstalk docker 镜像自动更新不起作用

sql - 有没有一种机制可以在 Ubuntu .deb 包上升级/创建数据库?

带计时器的 Azure 自动关机,但没有用户连接

asp.net - 使用.NET作为后端时如何在Azure移动服务中定义自定义api路由?

azure - 在 Azure CDN 中设置响应 header (安全性)

python - 为 EC2 配置结构

database - couchdb 更新设计文档

node.js - 无法从 Cloud9 IDE 将 Node.js 部署到 Azure 网站

c# - 事件 Azure Sql 连接数超过连接池限制