2013-12-14 82 views
0

我在學習MSBuild;並開始我有一個C#項目文件看起來像這樣:MSBuild - 包含參考

<?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> 

不過,中信建投失敗,稱它無法找到元數據文件「XYZ」,一次,我試過,包括每個參考。此外,Visual Studio報表類似的問題:

MSBuild References Problem

那我做錯了嗎?

回答

0

你得到,因爲目標名稱=的這個錯誤的原因「構建」

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

在特別行:

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

如果你不需要,你可以刪除這個額外的lib路徑,如果需要在Web上搜索,您應該可以瞭解如何設置AddtionalLib路徑。 This可能會幫助你。

+0

嗨 - 謝謝你的回答。我不太清楚我能否得到你;你在暗示我改變了什麼? – Xenoprimate

+0

由於 Spock