C# 类型或命名空间名称';林克';在';系统&x27;
我试图理解使用Microsoft Build Engine(也称为MSBuild)构建C#project的过程,我面临着这个问题。问题很简单,我想我只是不明白什么 我用2.cs文件编写了一个简单的程序。 第一个文件是“MathOp.cs”。在这个文件中,我定义了两个函数:add(double num1,double num2)和multiply(doble,double); 第二个文件是“Program.cs”。在这里,我定义了两个变量,我将其传递给MathOp文件中的add函数,并得到rezult; 这个程序是正确的 然后,我编写了一个简单的msbuild文件,在其中定义了要构建的任务和目标。 当我在VisualStudio命令提示符下启动它时,我得到了erorr cs0234:在系统名称空间中找不到类型或名称空间名称Linq。最有趣的是,我在msbuild文件中引用了System.dll等。如果我在Program.cs文件中注释using指令,这个错误就会消失C# 类型或命名空间名称';林克';在';系统&x27;,c#,msbuild,C#,Msbuild,我试图理解使用Microsoft Build Engine(也称为MSBuild)构建C#project的过程,我面临着这个问题。问题很简单,我想我只是不明白什么 我用2.cs文件编写了一个简单的程序。 第一个文件是“MathOp.cs”。在这个文件中,我定义了两个函数:add(double num1,double num2)和multiply(doble,double); 第二个文件是“Program.cs”。在这里,我定义了两个变量,我将其传递给MathOp文件中的add函数,并得到rezu
<Project DefaultTargets="Compile"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003" >
<PropertyGroup>
<AssemblyInfo>Build</AssemblyInfo>
<builtdir>Build\</builtdir>
</PropertyGroup>
<ItemGroup>
<CSFile Include="msbuildTest\Program.cs"/>
<CSFile Include="msbuildTest\Properties\AssemblyInfo.cs"/>
<CSFile Include="msbuildTest\MathOp.cs"/>
<Reference Include="System.dll"/>
<Reference Include="System.Data.dll"/>
<Reference Include="System.Drawing.dll"/>
<Reference Include="System.Windows.Forms.dll"/>
<Reference Include="System.XML.dll"/>
</ItemGroup>
<Target Name="PreBuild">
<Exec Command="if not exist $(builtdir) md $(builtdir)"/>
</Target>
<Target Name="Compile" DependsOnTargets="PreBuild">
<Csc Sources="@(CSFile)"
References="@(Reference)"
OutputAssembly="$(builtdir)$(MSBuildProjectName).exe"
TargetType="exe"/>
</Target>
<Target Name="Clean" >
<Exec Command="DEL $(builtdir)$(AssemblyInfo).exe"/>
</Target>
<Target Name="Rebuild" DependsOnTargets="Clean;Compile"/>
建造
建造\
在当前状态下,msbuild将使用.Net2.0中的CSC,它对Linq一无所知 解决此问题的最简单方法是在msbuild项目中指定4.0版本,从而强制msbuild使用正确的CSC版本:
<Project ToolsVersion="4.0"
DefaultTargets="Compile"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003" >
您引用了mscorlib.dll的哪个版本?您还需要引用System.Core.dll
是的,我包括System.Core.dll,但问题是steel是。您能给我们看一下您的代码吗?您不必指定没有的程序集名称.dll
?那就是:
例如,非常感谢,朋友=)谢谢,伙计们=)