将asp.net mvc 3项目部署到Windows Azure网站时出错

时间:2013-02-23 13:48:16

标签: asp.net-mvc azure

我有一个asp.net mvc 3项目和一个单独的BusinessLayer项目包含在解决方案中。当我尝试通过本地git存储库将我的站点部署到Azure时,我收到以下错误:'<remote_path>\BusinessLayer\BusinessLayer.csproj' is not a deployable project.。日志中未提供其他信息。站点在我的本地服务器上完美部署。所以我想知道至少出现这种错误的一些可能原因。提前谢谢。

如果需要,这是我的.csproj文件:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProductVersion>8.0.30703</ProductVersion>
    <SchemaVersion>2.0</SchemaVersion>
    <ProjectGuid>{31F2F6FE-10D8-4510-AC61-CBE1962D3940}</ProjectGuid>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>Properties</AppDesignerFolder>
    <RootNamespace>BusinessLayer</RootNamespace>
    <AssemblyName>BusinessLayer</AssemblyName>
    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
    <FileAlignment>512</FileAlignment>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>bin\Debug\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\Release\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="MongoDB.Bson">
      <HintPath>..\..\Libs\MongoDB.Bson.dll</HintPath>
    </Reference>
    <Reference Include="MongoDB.Driver">
      <HintPath>..\..\Libs\MongoDB.Driver.dll</HintPath>
    </Reference>
    <Reference Include="System" />
    <Reference Include="System.Core" />
    <Reference Include="System.Drawing" />
    <Reference Include="System.Xml.Linq" />
    <Reference Include="System.Data.DataSetExtensions" />
    <Reference Include="Microsoft.CSharp" />
    <Reference Include="System.Data" />
    <Reference Include="System.Xml" />
  </ItemGroup>
  <ItemGroup>
    <Compile Include="Battle.cs" />
    <Compile Include="BattleManager.cs" />
    <Compile Include="BattlePlace.cs" />
    <Compile Include="Helpers\ConvertHelper.cs" />
    <Compile Include="Helpers\ImageHelper.cs" />
    <Compile Include="Message.cs" />
    <Compile Include="Picture.cs" />
    <Compile Include="Place.cs" />
    <Compile Include="PlaceManager.cs" />
    <Compile Include="Subject.cs" />
    <Compile Include="User.cs" />
    <Compile Include="Helpers\DBHelper.cs" />
    <Compile Include="Properties\AssemblyInfo.cs" />
  </ItemGroup>
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
       Other similar extension points exist, see Microsoft.Common.targets.
  <Target Name="BeforeBuild">
  </Target>
  <Target Name="AfterBuild">
  </Target>
  -->
</Project>

2 个答案:

答案 0 :(得分:1)

您可能需要准确告诉Azure应该部署哪个项目,您可以使用项目根目录下的.deployment文件来执行该项目。 e.g。

[config]
project = WebProject/WebProject.csproj

有关详情,请参阅this page

答案 1 :(得分:0)

听起来您正在尝试部署BusinessLayer项目而不是网站项目。只要您的MVC站点项目引用了BusinessLayer,就可以部署该站点。 BusinessLayer将作为参考。 您不能单独部署BusinessLayer,因为它是库而不是应用程序。