Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2012 MSBuild引用DLL';她在做什么_Visual Studio 2012_Msbuild_Msbuild Task_Msbuild 4.0 - Fatal编程技术网

Visual studio 2012 MSBuild引用DLL';她在做什么

Visual studio 2012 MSBuild引用DLL';她在做什么,visual-studio-2012,msbuild,msbuild-task,msbuild-4.0,Visual Studio 2012,Msbuild,Msbuild Task,Msbuild 4.0,我在.csproj文件中定义了以下内联任务,该文件应在构建之前运行 <UsingTask TaskName="VersioningTask" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll"> <ParameterGroup> <FileName Parame

我在.csproj文件中定义了以下内联任务,该文件应在构建之前运行

<UsingTask TaskName="VersioningTask" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
<ParameterGroup>
    <FileName ParameterType="System.String" Required="true" />
    <XmlFileName ParameterType="System.String" Required="true" />
</ParameterGroup>
<Task>
    <Reference Include="System.Xml.dll" />
    <Reference Include="System.Xml.Linq.dll"/>
    <Using Namespace="System" />
    <Using Namespace="System.IO" />
    <Using Namespace="System.Linq" />
    <Using Namespace="System.Text" />
    <Using Namespace="System.Text.RegularExpressions" />
    <Using Namespace="System.Xml.Linq" />
    <Code Type="Fragment" Language="cs"><![CDATA[
        var xDoc = XDocument.Load(XmlFileName);
        //...


从VS2012构建项目时,我遇到以下错误:

找不到引用“System.Xml.dll”。如果代码需要此引用,则可能会出现编译错误

找不到引用“System.Xml.Linq.dll”。如果代码需要此引用,则可能会出现编译错误

如果删除XML内容和两个引用,构建就会成功。 我尝试使用DLL(%windir%/程序集)的完整路径,但没有成功


非常感谢这里的任何错误想法。

通过使用常规任务而不是内联任务来解决它。

我在引用System.Xml.Linq时遇到了同样的问题。切换到编译任务确实可以解决您的问题,但要将原始代码实现为内联任务,只需从引用中删除文件扩展名,然后再删除内联任务,以便引用根命名空间而不是文件名

更改此项:

<Reference Include="System.Xml.dll" />
<Reference Include="System.Xml.Linq.dll"/>

全文如下:

<Reference Include="System.Xml" />
<Reference Include="System.Xml.Linq"/>

谢谢,内联任务()上的MSDN页面末尾错误地包含了.dll。