MSBuild-包括引用

MSBuild-包括引用,msbuild,visual-studio-2013,Msbuild,Visual Studio 2013,我正在努力学习MSBuild;首先,我有一个C#项目文件,如下所示: <?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <RootNamespace>$

我正在努力学习MSBuild;首先,我有一个C#项目文件,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

  <PropertyGroup>
    <RootNamespace>$(MSBuildProjectName)</RootNamespace>
    <AssemblyName>$(MSBuildProjectName)</AssemblyName>
    <TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>
    <FileAlignment>512</FileAlignment>
    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
  </PropertyGroup>
  <ItemGroup>
    <Compile Include="**\*.cs" />
  </ItemGroup>
  <ItemGroup>
    <Reference Include="System" />
    <Reference Include="System.Core" />
    <Reference Include="System.Xml.Linq" />
    <Reference Include="System.Data.DataSetExtensions" />
    <Reference Include="Microsoft.CSharp" />
    <Reference Include="System.Data" />
    <Reference Include="System.Xml" />
  </ItemGroup>

  <Target Name="Build">
    <Csc 
      AdditionalLibPaths="C:\Windows\Microsoft.NET\Framework\v4.0.30319\" 
      References="@(Reference)"
      Sources="@(Compile)" 
      OutputAssembly="$(MSBuildProjectName).exe" 
      />
  </Target>
</Project>

$(MSBuildProjectName)
$(MSBuildProjectName)
v4.5.1
512
真的
然而,CSC失败了,它说它找不到元数据文件“xyz”,对于我尝试包含的每个引用,它都有一次。此外,Visual Studio报告了一个类似的问题:


那么我做错了什么呢?

您之所以会因为Target Name=“Build”而出现此错误


特别是:

     <Csc AdditionalLibPaths="C:\Windows\Microsoft.NET\Framework\v4.0.30319\" 
      References="@(Reference)" 
      Sources="@(Compile)" OutputAssembly="$(MSBuildProjectName).exe" />


如果您不需要,您可以删除这个附加的lib路径,如果需要在web上搜索,您应该能够确定如何设置addationallib路径。也许对你有帮助

嗨,谢谢你的回答。我不太确定我是否理解你;你建议我改变什么?看来你犯这些错误是因为
     <Csc AdditionalLibPaths="C:\Windows\Microsoft.NET\Framework\v4.0.30319\" 
      References="@(Reference)" 
      Sources="@(Compile)" OutputAssembly="$(MSBuildProjectName).exe" />