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

问题描述:

我想在一个站点内部有一个虚拟应用程序。我已经修改我的ServiceDefinition.csdef作为忽略Windows Azure虚拟应用程序中的文件

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

当我创建了包,我看到它包含.cs文件夹obj过。这是没用的。我不希望这些文件包含在我的软件包文件(.cspkg)中。

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

作为解决方法,我创建了一个Web Deployment Project。为了排除在输出文件,你需要把

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

而在ServiceDefinition.csdef我指定的输出路径网络部署项目

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

我不认为你可以告诉视觉工作室做到这一点。它只为你的角色相关的网站项目做到这一点。所以你可以做的是将你的输出文件复制到后期制作事件中的特殊文件夹。并指出你的物理目录:)

+0

为我所用的网络部署项目中的解决方法。看到我的答案。 – 2011-05-26 07:43:37

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

在.csdef文件

然后,使用路径您发布的网站,而不是到Web项目中的文件夹。

  1. Create a WebDeploy Profile
  2. 网罗所有文件旁边排除到<OutputPath>上.csproj像这样<ExcludeFoldersFromDeployment>bin\file1.dll;file3.csv</ExcludeFoldersFromDeployment>。详细信息here
  3. 如果你想,定义一个相对路径上.pubxml文件(在Web项目下的属性\ PublishProfiles通常会发现)发布放置位置如<publishUrl>bin\WebDeployDropLocation</publishUrl>
  4. 提供的放置位置,以ServiceDefinitioin.csdef像这样: <Site name="Web" physicalDirectory="..\..\..\MyWebApp\bin\WebDeployDropLocation">根据<Sites>。文档here
  5. 发布WebProject并验证文件,从WebRole项目创建包。
  6. 编辑导致.cspkg的文件名,将其更改为.zip文件来验证内容