KP1*_*KP1 4 msbuild visual-studio-2010
我在x64机器上使用Visual Studio 2010和TFS 2010.
我正在尝试在构建中使用MSBuild社区任务目标.此目标存在于源代码管理中.所以在我的csproj文件中,我导入该特定目标,但我现在得到以下错误:
错误MSB4062:无法从程序集C:\ Program Files(x86)\ MSBuild\MSBuildCommunityTasks\MSB uild.Community.Tasks.dll加载"MSBuild.Community.Tasks.Attrib"任务.无法加载文件或程序集'file:/// C:\ Program文件(x86)\ MSBuild\MSBuildCommunityTasks\MSBuild.Community.Tasks.dll'或其依赖项之一.该系统找不到指定的文件.确认声明是否正确,程序集及其所有依赖项是否可用,以及该任务是否包含实现Micros oft.Build.Framework.ITask的公共类.[C:\ SampleTest\SampleTest.csproj]
这是我的代码:
<Import Project="..\..\Builds\Common\MSBuildTasks\MSBuild.Community.Tasks\MSBuild.Community.Tasks.Targets" />
<Target Name="BeforeBuild">
<PropertyGroup>
<MyService>ServiceName</MyService>
</PropertyGroup>
<ServiceController ServiceName="$(MyService)" Action="Stop" />-->
</Target>
Run Code Online (Sandbox Code Playgroud)
对上述有何想法?
当我在项目文件中指定了它时,为什么MSBuild会在其他地方尝试查找dll?
提前致谢,
我认为问题来自MSBuild.Community.Tasks.Targets文件 - 这个文件实际上引用了MSBuild.Community.Tasks.dll程序集.
如果打开文件,您可以看到一堆UsingTask元素,例如:
<UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Attrib" />
Run Code Online (Sandbox Code Playgroud)
该$(MSBuildCommunityTasksLib)属性在文件顶部定义为:
<PropertyGroup>
<MSBuildCommunityTasksPath Condition="'$(MSBuildCommunityTasksPath)' == ''">$(MSBuildExtensionsPath)\MSBuildCommunityTasks</MSBuildCommunityTasksPath>
<MSBuildCommunityTasksLib>$(MSBuildCommunityTasksPath)\MSBuild.Community.Tasks.dll</MSBuildCommunityTasksLib>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
所以看起来你需要$(MSBuildCommunityTasksPath)在调用之前设置属性<Import>.
| 归档时间: |
|
| 查看次数: |
8614 次 |
| 最近记录: |