【发布时间】:2015-07-02 14:49:11
【问题描述】:
我在一个基于MPF 的自定义项目系统上工作。对于构建,我定义了一个自定义目标文件,该文件定义了所需的最小目标集,例如 Build、Clean 和 Rebuild,以便项目与 Visual Studio IDE 很好地集成;例如,我可以使用 F6 快捷键触发已加载项目的构建,其中快捷键 Ctrl+F5 如果构建成功。但是,不……构建输出信号成功,但 Visual Studio 不尝试启动应用程序?我想知道缺少什么...
我的自定义项目文件没有导入 Microsoft.Common.targets,因为它不是托管语言,并且通用构建目标提供的大多数东西都不适用于我的项目系统(我也希望将 MSBuild 集成保持为尽可能苗条)。
我阅读了以下文档:https://msdn.microsoft.com/en-us/library/vstudio/ms171468(v=vs.110).aspx;在调试部分提到了以下 MSBuild 属性:OutputPath、AssemblyName 和 OutputType;我的自定义 Build 目标设置了所有这些属性,所以我假设 Visual Studio 知道运行我的应用程序所需的一切(当然,即使我的语言服务还不支持调试)。
Build 目标定义如下所示...
<Target Name="Build"
DependsOnTargets="PrepareBuildProperties"
Returns="$(TargetPath)">
</Target>
我查看了Microsoft.Common.targets 文件,也发现了Run 目标。评论说...
如果是 .EXE,则运行最终的构建输出
它基本上是这样做的(这是原始目标定义的缩短版本)......
<Target Name="Run"
DependsOnTargets="$(RunDependsOn)">
<Exec Command="$(TargetPath) $(StartArguments)"
WorkingDirectory="$(OutDir)" />
</Target>
如果我从Debug 菜单中选择Start without debugging 命令,或者按Ctrl+F5,Visual Studio 是否应该调用此目标?
【问题讨论】:
标签: visual-studio msbuild visual-studio-extensions vsx mpf