Неверные цели BeforeBuild-AfterBuild

Я недавно начал перенос проекта MVC с MVC5 на MVC6, все работает отлично, за исключением того, что цели BeforeBuild/AfterBuild не запускаются, я даже открыл проект VS 2013 (.csproj) в VS2015, и они запускаются, но те, которые я добавил в новый.xproj файл в VS 2015 нет. Любая идея о том, что может произойти?

Благодарю!

Файл project.json

{
"webroot": "wwwroot",
"version": "1.0.0-*",

"dependencies": {
    "Microsoft.AspNet.Authentication.Cookies": "1.0.0-beta6-*",
    "Microsoft.AspNet.Authentication.OpenIdConnect": "1.0.0-beta6-*",
    "Microsoft.AspNet.Diagnostics.Entity": "7.0.0-beta6-*",
    "Microsoft.AspNet.Mvc": "6.0.0-beta6-*",
    "Microsoft.AspNet.Server.IIS": "1.0.0-beta6-*",
    "Microsoft.AspNet.Server.WebListener": "1.0.0-beta6-*",
    "Microsoft.AspNet.StaticFiles": "1.0.0-beta6-*",
    "Microsoft.Framework.CodeGenerators.Mvc": "1.0.0-beta5-*",
    "Microsoft.Framework.Configuration.Json": "1.0.0-beta6-*",
    "Microsoft.Framework.Configuration.UserSecrets": "1.0.0-beta6-*",
    "Microsoft.AspNet.Identity.EntityFramework": "3.0.0-beta6-*",
    "Microsoft.Framework.Logging": "1.0.0-beta6-*",
    "Microsoft.Framework.Logging.Console": "1.0.0-beta6-*"
},

"commands": {
    "web": "Microsoft.AspNet.Hosting --config hosting.ini"
},

"frameworks": {
    "dnx451": {
        "dependencies": {
            "Microsoft.Framework.Configuration.Json": "1.0.0-beta6",
            "Microsoft.AspNet.Diagnostics.Entity": "7.0.0-beta6"
        }
    } 
},

"publishExclude": [
    "node_modules",
    "bower_components",
    "**.xproj",
    "**.user",
    "**.vspscc"
],
"exclude": [
    "wwwroot",
    "node_modules",
    "bower_components"
]
}
+1
источник поделиться
2 ответа

ASP.NET 5 больше не использует файлы csproj для сборки. Они используются только VS для отображения проекта. Все в project.json.

Вы должны перенести эти цели в project.json чтобы они могли запускаться. Вот пример: https://github.com/aspnet/dnx/blob/dev/src/Microsoft.Dnx.Project/project.json#L40-L47

+1
источник

Если вы переопределите свойство BuildDependsOn для инструмента версии версии 14.0, он отлично работает. Это стратегия, используемая целями VS.

<Target Name="CopyAutomapper">
   <ItemGroup>  
        <MySourceFiles Include="$(SolutionDir)\packages\AutoMapper\5.1.1\lib\net45\AutoMapper.dll"/>  
    </ItemGroup>  
    <Copy  
            SourceFiles="@(MySourceFiles)"  
            DestinationFolder="$(OutputPath)\$(Configuration)\net461\win7-x64"  
        /> 
</Target>
<PropertyGroup>  
    <BuildDependsOn>  
        $(BuildDependsOn);
        CopyAutomapper;
    </BuildDependsOn>  
</PropertyGroup>  
0
источник

Посмотрите другие вопросы по меткам или Задайте вопрос