【发布时间】:2013-04-25 18:45:09
【问题描述】:
我正在学习一个简单的 MSBuild 文件。
这里是:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Clean" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{D5A16164-962E-4A6D-9382-240F31AB6C50}</ProjectGuid>
</PropertyGroup>
<Target Name="Clean">
<ItemGroup>
<BinFiles Include="bin\*.*" />
<fff Include="f\*.*" />
</ItemGroup>
<Delete Files="@(BinFiles)" />
<Delete Files="@(fff)" />
</Target>
</Project>
现在我想将它包含在 Visual Studio 解决方案中,并能够从 Visual Studio 2012 运行“干净”目标。我尝试将其命名为 testproject.msbuildproj,就像互联网似乎建议“有效”一样,但它没有不工作。当我运行 clean 命令时,我只是得到“意外错误”。
如果我将项目重命名为testproject.csproj,它会做一些不直观的事情,比如创建编译目录,但它确实会正确运行我的 clean 命令。但是,这是不可取的,因为它会创建 obj 和 bin/x86/debug 类型的目录。它在 Visual Studio 中看起来也很愚蠢,因为它仍然提供引用下拉菜单。
如何在没有随机错误或错误假设的情况下仅使用 Visual Studio 中的普通 MSBuild 项目?
注意,我只是在 Visual Studio 中遇到了这个问题。从命令行使用 msbuild 可以完美运行
【问题讨论】:
标签: visual-studio visual-studio-2012 msbuild build-automation