Я доберусь, моя линейная алгебра выписываются, когда я возвращаюсь домой, если никто не ответил. Но D G, не все матрицы являются обратимыми. Особенные матрицы не обратимые (когда детерминант = 0). Это на самом деле произойдет все время, так как матрица проекции должна иметь собственные значения 0 и 1 и быть квадратной (так как это - идемпотент, таким образом, p^2 = p).
легкий пример, [[0 1] [0 1]] начиная с детерминанта = 0, и это - проекция на строке x = y!
Хорошо, наконец, я нашел решение. Вот задача, которая предоставит вам последний номер набора изменений и создаст свойство, чтобы вставить его в номер сборки информации о сборке. Основная проблема заключалась в отсутствии свойства TfsLibraryLocation (без него оно должно указывать на библиотеки в GAC, но это не так)
<Target Name="GetVersionChangeSet">
<TfsVersion
TfsLibraryLocation="C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies"
LocalPath="$(SolutionRoot)">
<Output TaskParameter="Changeset" PropertyName="ChangesetNumber"/>
</TfsVersion>
<Message Text="TFS ChangeSetNumber: $(ChangesetNumber)" />
Согласно комментарию на этой странице вы можете использовать командную строку
tf changeset / latest / i
, но я не могу проверить это из дома.
Ознакомьтесь со следующими проектами расширения. Вы найдете около 5 различных способов решения вашей проблемы.
Извините, я не могу прокомментировать последний ответ.
Задача TfsVersion в предоставленной вами форме даст вам только номер последнего набора изменений в $(SolutionRoot)
.
Если у вас есть что-то более новое в $(SolutionRoot)\subdir
, представленное решение не будет работать, так как оно выдаст вам последние изменения из $(SolutionRoot)
, а не из $(SolutionRoot)\subdir
, как вы бы хотели.
Я использую tf changeset /latest /i
и он работает нормально.