$ elemMatch
Использовал что-то вроде этого.
{
"selector": {
"sellers": {
"$elemMatch": {
"items": {
"$elemMatch": {
"properties": {
"$elemMatch": {
"width": {
"$eq": "212cm"
}
}
}
}
}
}
}
}
}
Я не настроил проект Развертывания еще с моим mvc приложением, но я использовал эту технику, обрисованную в общих чертах Scott Hanselman, и это работает отлично.
3 определенных файла, которые Вы перечислили, все компилируются в двоичный файл, произведенный Вашим веб-проектом MVC ASP.NET. Откройте свой .csproj, и Вы будете видеть:
<Compile Include="Global.asax.cs">
<DependentUpon>Global.asax</DependentUpon>
</Compile>
<Compile Include="Default.aspx.cs">
<DependentUpon>Default.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
Откройте свой двоичный файл в инструменте, таком как Отражатель, и Вы будете видеть классы. Поэтому Вы не должны развертывать их.
Эти MSBuild ступает в MVC .csproj часть рендеринга того, что веб-Проект Развертывания делает (т.е. компиляция единственного двоичного файла для сайта) избыточный.
Что касается маркерной замены можно или сохранить проект Развертывания или вероятно скопировать соответствующие шаги MSBuilds из .wdproj файла в .csproj файл. Это не что-то, что я сделал, но должен вскоре попробовать сам.
Я нашел его работающий на меня.
Когда Вы говорите, что существуют пропавшие без вести файлов, Вы говорящий о Системе. Сеть. Файлы Mvc и такой? Необходимо удостовериться в веб-приложении, что эти ссылки установлены скопировать локально.
У меня есть deployt успешно к IIS6 с помощью веб-Проекта Развертывания. У меня были проблемы, развертывающиеся Server 2003 сначала, но в моем случае это действительно была проблема среды этапа. Я сначала deployt к локальному IIS, чтобы проверить, была ли это проблема сборки или среды. Я не использовал конфигурацию - замена.
Это - мой сценарий сборки:
C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe "D:\Projekte\NiceProjectName\source\NiceProjectName_Build\NiceProjectName_Build.wdproj" /t:Build /p:Configuration=Release
Вот мой wdp:
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>9.0.21022</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{E5E14CEB-0BCD-4203-9A5A-34ABA9C717EA}</ProjectGuid>
<SourceWebPhysicalPath>..\NiceProjectName</SourceWebPhysicalPath>
<SourceWebProject>{3E632DB6-6DB3-4BD0-8CCA-12DE67165B48}|NiceProjectName\NiceProjectName.csproj</SourceWebProject>
<SourceWebVirtualPath>/NiceProjectName.csproj</SourceWebVirtualPath>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<OutputPath>.\Debug</OutputPath>
<EnableUpdateable>true</EnableUpdateable>
<UseMerge>true</UseMerge>
<SingleAssemblyName>NiceProjectName_Build</SingleAssemblyName>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugSymbols>false</DebugSymbols>
<OutputPath>..\..\deploy</OutputPath>
<EnableUpdateable>false</EnableUpdateable>
<UseMerge>true</UseMerge>
<SingleAssemblyName>NiceProjectName</SingleAssemblyName>
</PropertyGroup>
<ItemGroup>
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath)\Microsoft\WebDeployment\v9.0\Microsoft.WebDeployment.targets" />
</Project>