我正在尝试从.msbuild
文件构建Visual Studio项目。我们的想法是在构建之前做一些事情,然后从同一个地方执行.sln
的构建。
这样的事情:
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="BuildClient" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Release</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<Tools>$(MSBuildProjectDirectory)\tools</Tools>
<NugetExe>$(Tools)\nuget\nuget.exe</NugetExe>
<ClientFolder>$(MSBuildProjectDirectory)\src\Client</ClientFolder>
<ClientSolution>$(ClientFolder)\ClientProject.sln</ClientSolution>
</PropertyGroup>
<Target Name="BuildClient">
<!--Restore Nuget-->
<Message Text="Starting Restoring Nuget Packages" />
<Exec Command=" $(NugetExe) restore $(ClientSolution)" />
<Message Text="Finished Restoring Nuget Packages" />
<Import Project="$(ClientSolution)" />
<!--build project-->
</Target>
</Project>
但在VS中标有<Import>
的下划线,表示导入应该在级别上,而不是<Target>
。当我按照建议移动<Import>
级别时,我收到执行错误:
errorMSB4025: The project file could not be loaded. Data at the root level is invalid.
知道如何在没有重大改写的情况下构建整个项目吗?
答案 0 :(得分:2)