忽略Windows Azure虚拟应用程序中的文件

时间:2011-05-06 16:25:36

标签: azure

我想在网站内部安装虚拟应用程序。我已将ServiceDefinition.csdef修改为

<Site name="Web">
        <VirtualApplication name="MyVirtualApp" physicalDirectory="[path to my other web app]" />
        <Bindings>
          <Binding name="HttpIn" endpointName="HttpIn" />          
        </Bindings>
      </Site>

当我创建包时,我发现它还包含.cs个文件obj文件夹。哪个没用。我不希望这些文件包含在我的包文件(.cspkg)中。

我应该怎样做,以便在发布时,这种类型的文件不应包含在包文件中?

4 个答案:

答案 0 :(得分:1)

我认为你不能告诉visual studio这样做。它只对您的角色关联网站项目执行此操作。因此,您可以做的是将输出文件复制到post build事件中的特殊文件夹中。并将您的物理目录指向:)

答案 1 :(得分:1)

作为解决方法,我创建了一个Web Deployment Project。要排除输出中的文件,您需要输入

<ExcludeFromPackageFiles Include="[your file]">
    <FromTarget>Project</FromTarget>
</ExcludeFromPackageFiles>

ServiceDefinition.csdef我指定了Web部署项目的输出路径

<VirtualApplication name="MyVirtualApp" physicalDirectory="[output path of my web deployment project]" />

答案 2 :(得分:1)

使用要成为虚拟应用程序的原始网站项目中的发布功能。发布到文件系统中的单独文件夹中,就像它将成为您系统上由IIS托管的网站一样。发布功能将删除所有不必要的文件。

然后在.csdef文件中,使用已发布网站的路径,而不是您的网站项目所在的文件夹。

答案 3 :(得分:0)

  1. Create a WebDeploy Profile
  2. 在.csproj上的<OutputPath>旁边列出要排除的所有文件,例如<ExcludeFoldersFromDeployment>bin\file1.dll;file3.csv</ExcludeFoldersFromDeployment>。详细信息here
  3. 如果需要,请在.pubxml文件上定义发布放置位置的相对路径(通常位于Web项目下的Properties \ PublishProfiles下),例如<publishUrl>bin\WebDeployDropLocation</publishUrl>
  4. 将放置位置提供给ServiceDefinitioin.csdef,如下所示: <Site name="Web" physicalDirectory="..\..\..\MyWebApp\bin\WebDeployDropLocation">下的<Sites>。文档here
  5. 发布WebProject并验证文件,从WebRole项目创建包。
  6. 编辑生成的.cspkg的文件名,将其更改为.zip文件以验证内容