Visual studio 2012 MSBuild引用DLL';她在做什么
我在.csproj文件中定义了以下内联任务,该文件应在构建之前运行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
<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。