9

バイナリとソースを含む.zipファイルにパッケージ化するオープンソースプロジェクトがあります。プロジェクトはCodePlexでホストされ、ソース管理としてTFSを使用します。プロジェクトをエクスポートして、すべてのソース管理バインディングを削除する方法がわかりません。そうすれば、ログインプロンプトを表示せずに、ローカルでソリューションを簡単に開くことができます。この機能はGitでのエクスポートと呼ばれますが、Teamで同じことを行う方法がわかりません。

4

4 に答える 4

11

このブログ投稿には、ソース管理フォルダーで実行でき、ファイルからソース管理バインディングを削除する次のPowerShellスクリプトが含まれています。

# Remove unnecessary files  
get-childitem . -include *.vssscc,*.user,*.vspscc,*.pdb,Debug -recurse |   
%{   
    remove-item $_.fullname -force -recurse   
}  

# Remove the bindings from the sln files  
get-childitem . -include *.sln -recurse |   
%{   
    $file = $_;   
    $inVCSection = $False;  
    get-content $file |   
    %{   
        $line = $_.Trim();   
        if ($inVCSection -eq $False -and $line.StartsWith('GlobalSection') -eq $True -and $line.Contains('VersionControl') -eq $True) {   
            $inVCSection = $True   
        }   
        if ($inVCSection -eq $False) {   
            add-content ($file.fullname + '.new') $_   
        }   
        if ($inVCSection -eq $True -and $line -eq 'EndGlobalSection') {   
            $inVCSection = $False  
        }  
    }  
    mv ($file.fullname + '.new') $file.fullname -force   
}  

# Remove the bindings from the csproj files  
get-childitem . -include *.csproj -recurse |   
%{   
    $file = $_;   
    get-content $file |   
    %{   
        $line = $_.Trim();   
        if ($line.StartsWith('<Scc') -eq $False) {  
            add-content ($file.fullname + '.new') $_   
        }  
    }  
    mv ($file.fullname + '.new') $file.fullname -force   

}
于 2013-02-28T11:33:58.033 に答える
5

ソース管理バインディング情報はVSプロジェクトおよびソリューションファイルの一部であり、削除するのは困難です。ただし、私が知っている2つのオプションがあります。

プロジェクトを「取得」し、ソースフォルダーを別の場所にコピー/移動してからソリューションを再度開くと、VSはソース管理バインディングの削除を提案します。

または、これをインプレースで行うには、VSでソース管理ソリューションを開き、[ファイル]/[ソース管理]/[ソース管理の変更]をクリックします。このダイアログには、各プロジェクトのバインドを削除する[バインド解除]ボタンがあります。

(警告:VS2010でテスト済み。使用しているバージョンがわからない。)

于 2012-04-05T13:30:50.030 に答える
1

別の答えがあります。

プロジェクトを含むソリューションをある場所から別の場所にコピーして貼り付けましたが、新しい場所でソリューションを開こうとしても、ソース管理に接続するように求められません。

[ファイル]->[ソース管理]->[詳細設定]->[ソース管理の変更]に移動すると、バインドを解除する機能がありません。そこで、テキストエディタでソリューションファイルを開き、次のセクションを削除しました。

GlobalSection(TeamFoundationVersionControl) = preSolution
....
EndGlobalSection

動作しているようです。私はそれが誰かを助けることを願っています。

于 2014-05-26T09:25:12.533 に答える
0

TFSは、バインドなしのソースコードのエクスポートをサポートしていません。Dan Puzeyが述べたように、ソース管理のコピーを作成して、ソース管理のバインディングを削除するだけです。

私の特定のプロジェクトでは、ファイルをコピーして、TFSに関連するものをすべて削除しました。これは、オープンソースプロジェクトでTeamCityで使用していた展開構成の一部として実行していました。

意味がわかり次第、このプロジェクトをGitに切り替える予定です。

于 2012-08-01T00:13:14.790 に答える