【问题标题】:BeforeBuild-AfterBuild targets not runningBeforeBuild-AfterBuild 目标未运行
【发布时间】:2015-09-15 01:31:57
【问题描述】:

我最近开始将 MVC 项目从 MVC5 迁移到 MVC6,一切正常,除了 BeforeBuild/AfterBuild 目标没有触发,我什至在 VS2015 中打开了 VS 2013 项目 (.csproj) 并且它们运行了,但是那些我在 VS 2015 中添加到新的 .xproj 文件中没有。知道会发生什么吗?

谢谢!

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"
]
}

【问题讨论】:

  • 你能分享project.json文件吗?
  • @VictorHurdugaci 完成!
  • 你试过dnu build吗?

标签: msbuild visual-studio-2015 asp.net-core


【解决方案1】:

ASP.NET 5 不再使用 csproj 文件进行构建。它们仅由 VS 用于显示项目。一切都在project.json

您必须将这些目标迁移到 project.json 才能运行。这是一个例子:https://github.com/aspnet/dnx/blob/dev/src/Microsoft.Dnx.Project/project.json#L40-L47

【讨论】:

  • 我将以下内容添加到我的 projec.json 文件中,但到目前为止还没有工作,我做错了什么? "scripts": { "postbuild": [ "%project:Directory%/mkdir \"%project:Directory%/tstFolder\"" ] }
【解决方案2】:

如果您为 14.0 版工具重新定义 BuildDependsOn 属性,它可以正常工作。这是 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>  

【讨论】:

    猜你喜欢
    • 2017-10-10
    • 2022-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多