【发布时间】:2016-08-05 02:10:30
【问题描述】:
我有一个相当大的解决方案,其中包含程序集和 ASP.NET 网站(没有 csproj 文件的网站)。我正在尝试从命令行自定义构建,因此我需要了解 MSBuild 到底在做什么。
当 MSBuild 构建 .sln 文件时,我看到它创建了 metaproj 文件(我假设是 MSBuild 文件)。但是,它们似乎从未出现在文件系统上。我假设 MSBuild 以某种方式将它们隐藏起来。有什么方法可以查看这些文件吗?
【问题讨论】:
我有一个相当大的解决方案,其中包含程序集和 ASP.NET 网站(没有 csproj 文件的网站)。我正在尝试从命令行自定义构建,因此我需要了解 MSBuild 到底在做什么。
当 MSBuild 构建 .sln 文件时,我看到它创建了 metaproj 文件(我假设是 MSBuild 文件)。但是,它们似乎从未出现在文件系统上。我假设 MSBuild 以某种方式将它们隐藏起来。有什么方法可以查看这些文件吗?
【问题讨论】:
使用以下环境变量:
set MSBuildEmitSolution=1
【讨论】:
网站项目的一些“幕后”基础知识在 MS 组织文档的方式中迷失了......
在 .sln 文件上执行 MSBuild 时,它会根据 .sln 文件中的“项目”部分生成一个 .metaproj 文件。然后它针对 metaproj 文件执行 aspnet_compiler.exe。
【讨论】: