MSBuild, пакет расширений и TfsVersion - PullRequest
1 голос
/ 09 июня 2011

Я пытаюсь реализовать то, что вижу в этом посте: Номер версии TFS и msbuild с последним набором изменений . То есть я пытаюсь получить последний номер набора изменений во время сборки, чтобы использовать его в файле AssemblyVersionInfo.cs.

Я использую VS 2008 и TFS 2008. Я установил MSBuild Extension pack v3.5.9.0 (x64). Он находится в C: \ Program Files \ MSBuild \ ExtensionPack. Вот мой проект MSBuild:

<Project ToolsVersion="3.5" DefaultTargets="Default" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Import Project="C:\Program Files\MSBuild\ExtensionPack\MSBuild.ExtensionPack.tasks"/>
  <Target Name="Default">
    <TfsVersion  TfsLibraryLocation="C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies"
                 LocalPath="$(SolutionRoot)">
      <Output TaskParameter="Changeset" PropertyName="ChangesetNumber"/>
    </TfsVersion>
    <Message Text="TFS ChangeSetNumber: $(ChangesetNumber)" />
  </Target>
</Project>

Вот как я запускаю скрипт:

C:\Build\TeamBuildTypes\Nightly_Main>MSbuild test.proj

Вот мое сообщение об ошибке:

C:\Build\TeamBuildTypes\Nightly_Main\test.proj(4,5): error MSB4062: The "MSBuild.ExtensionPack.VisualStudio.TfsVersion" task could not be loaded from the asse
mbly C:\Program Files (x86)\MSBuild\ExtensionPack\MSBuild.ExtensionPack.dll. Could not load file or assembly 'file:///C:\Program Files (x86)\MSBuild\ExtensionPack\MSBuild.ExtensionPack.dll' or one of its dependencies. The system cannot find the file specified. Confirm that the <UsingTask> declaration is correct, and that the assembly and all its dependencies are available.

Любая помощь приветствуется.

Спасибо, Скотт

1 Ответ

1 голос
/ 09 июня 2011

Похоже, MSBuild.ExtensionPack.tasks пытается найти библиотеки не там, где они находятся. Вы можете открыть этот файл и добавить его в начало файла

<ExtensionTasksPath>C:\Program Files\MSBuild\ExtensionPack\</ExtensionTasksPath>

вместо других ExtensionTasksPath объявлений (просто прокомментируйте их и добавьте это). Это должно исправить проблему путей.
Я предполагаю, что существует C:\Program Files\MSBuild\ExtensionPack\MSBuild.ExtensionPack.dll

...