7

VS 2010 (BIDS)、SQL 2012、TFS を使用しています。2 つのプロジェクトを含むソリューションがあります。1 つは ETL 用、もう 1 つはレポート用です。最近、ETL プロジェクトから、.dtproj プロジェクト ファイルのサーバーに別のバージョンを保存/マージするように求められました。バージョン番号が私よりも大きい場合、そのファイルが必要だと思います。現在、ソリューション内の他のプロジェクトで同じことをするように促されています。添付資料参照。前回は私の環境を台無しにしたので、私はこれをしていません! これは 100% 私の TFS に対する理解不足によるものだと確信しています。そうは言っても、二度と台無しにしないように自分自身を教育するために何を読んだり調べたりすればよいかわかりません。

「Take Server Version」リンクをクリックすると、次のような内容のダイアログ ボックスが表示されました。

「ファイル project.dtproj がソース エディタの外で変更されました ...」

あなたはしたいですか:

Save AS 
Save 
Cancel 
Ignore 

「名前を付けて保存」をクリックしました。その後、2 つの DTproj ファイル (1 つはソリューションに関連付けられ、もう 1 つは関連付けられていない) が作成されることに気付いたとき、キャンセルを押しました。

これは、すべてがうまくいかなかったときです。

キャンセルを押して VS2010 でプロジェクトをリロードした後、私のパッケージは VS 2012 の SSIS パッケージ フォルダーに表示されませんでした。パッケージは TFS にあります (ソース エクスプローラーに表示されます)。それらはFSにあります(Windowsエクスプローラーで表示されます)。

しかし、私が何をしても、彼らをプロジェクトに戻すことはできません。

既存のパッケージを追加してファイル システムで参照しようとすると、プロジェクト内のファイルが取得されますが、ファイルのコピーとして表示されます。ファイル システムに新しいファイルと元のファイルが表示され、プロジェクトに表示される新しいファイルは "Project (1).dtsx" と呼ばれます。

プロジェクトを正常に戻すにはどうすればよいですか??

助けてくれてありがとう!

ショーン

4

1 に答える 1

19

.dtproj ファイルは、プロジェクトを構成するファイルを指定する単なる XML です。各リリースの形式は他とわずかに異なりますが、特に複雑ではありません。

一般的に、開発者間でプロジェクト ファイルを「壊す」と思うのは、新しいパッケージをミックスに追加することです。簡単そうに見えますが、何らかの理由で、diff ユーティリティはパッケージが追加されたときに違いを調整できません。複数の開発者が SSIS ソリューションに取り組んでいることがわかっている場合は、開発者 A が MyFabulousPackage をプロジェクト ファイルに追加している間に、開発者 B が OutrageouslyGoodPackage を同時に追加しないように、最初にプレースホルダー パッケージを作成してみるのが最善であることがわかりました。時間。代わりに、全員が同じプロジェクト ファイルを持ち、フォーカス エリアの内容を修正するのが彼らの仕事です。

サンプル .dtproj

<?xml version="1.0" encoding="utf-8"?>
<Project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <DeploymentModel>Project</DeploymentModel>
  <ProductVersion>11.0.2100.60</ProductVersion>
  <SchemaVersion>9.0.1.0</SchemaVersion>
  <State>$base64$P...g==</State>
  <Database>
    <Name>SSISFoo.database</Name>
    <FullPath>SSISFoo.database</FullPath>
  </Database>
  <DataSources />
  <DataSourceViews />
  <DeploymentModelSpecificContent>
    <Manifest>
      <SSIS:Project SSIS:ProtectionLevel="DontSaveSensitive" xmlns:SSIS="www.microsoft.com/SqlServer/SSIS">
        <SSIS:Properties>
          <SSIS:Property SSIS:Name="ID">{83ded95e-49f0-4781-ab8f-7f8954d6423a}</SSIS:Property>
          <SSIS:Property SSIS:Name="Name">SSISFoo</SSIS:Property>
          <SSIS:Property SSIS:Name="VersionMajor">0</SSIS:Property>
          <SSIS:Property SSIS:Name="VersionMinor">0</SSIS:Property>
          <SSIS:Property SSIS:Name="VersionBuild">0</SSIS:Property>
          <SSIS:Property SSIS:Name="VersionComments">
          </SSIS:Property>
          <SSIS:Property SSIS:Name="CreationDate">2013-03-19T10:24:18.8594643-05:00</SSIS:Property>
          <SSIS:Property SSIS:Name="CreatorName">home\bfellows</SSIS:Property>
          <SSIS:Property SSIS:Name="CreatorComputerName">Thangorodrim</SSIS:Property>
          <SSIS:Property SSIS:Name="Description">
          </SSIS:Property>
          <SSIS:Property SSIS:Name="FormatVersion">1</SSIS:Property>
        </SSIS:Properties>
        <SSIS:Packages>
          <SSIS:Package SSIS:Name="Package.dtsx" SSIS:EntryPoint="1" />
        </SSIS:Packages>
        <SSIS:ConnectionManagers />
        <SSIS:DeploymentInfo>
          <SSIS:ProjectConnectionParameters />
          <SSIS:PackageInfo>
            <SSIS:PackageMetaData SSIS:Name="Package.dtsx">
              <SSIS:Properties>
                <SSIS:Property SSIS:Name="ID">{3BEEFDD8-FB86-4804-9049-EB28C4BD69DD}</SSIS:Property>
                <SSIS:Property SSIS:Name="Name">Package</SSIS:Property>
                <SSIS:Property SSIS:Name="VersionMajor">1</SSIS:Property>
                <SSIS:Property SSIS:Name="VersionMinor">0</SSIS:Property>
                <SSIS:Property SSIS:Name="VersionBuild">1</SSIS:Property>
                <SSIS:Property SSIS:Name="VersionComments">
                </SSIS:Property>
                <SSIS:Property SSIS:Name="VersionGUID">{3087F645-C4C4-4773-8040-E2DAFFE8B922}</SSIS:Property>
                <SSIS:Property SSIS:Name="PackageFormatVersion">6</SSIS:Property>
                <SSIS:Property SSIS:Name="Description">
                </SSIS:Property>
                <SSIS:Property SSIS:Name="ProtectionLevel">0</SSIS:Property>
              </SSIS:Properties>
              <SSIS:Parameters />
            </SSIS:PackageMetaData>
          </SSIS:PackageInfo>
        </SSIS:DeploymentInfo>
      </SSIS:Project>
    </Manifest>
  </DeploymentModelSpecificContent>
  <Miscellaneous />
  <Configurations>
    <Configuration>
      <Name>Development</Name>
      <Options>
        <OutputPath>bin</OutputPath>
        <ConnectionMappings />
        <ConnectionProviderMappings />
        <ConnectionSecurityMappings />
        <DatabaseStorageLocations />
        <ParameterConfigurationValues />
      </Options>
    </Configuration>
  </Configurations>
</Project>

あなたが経験していること

「Package (1).dtsx」で経験しているのは、既存のパッケージをプロジェクトに追加することです。[既存のパッケージを追加] をクリックし、プロジェクト フォルダーで Package.dtsx を選択すると、

既存のパッケージを追加

  1. Visual Studio/BIDS/SSDT は、そのパッケージをローカル フォルダーにコピーしようとします。
  2. そのファイルはすでに存在し、上書きするのではなく、(number)追加して保存します

パッケージを選択できるウィンドウでは、パッケージをパッケージ ストアまたは SQL Server に配置できるため、これは理にかなっています。「既存のパッケージのコピーを追加」というタイトル バーに気付いた場合はなおさらです(正直なところ、私は今日までコピーという言葉に気づきませんでした。それは製品を 8 年間使用した後でした)。

ここに画像の説明を入力

職業はなんですか?

「既存のパッケージを追加」しないでください。代わりに、プロジェクトを右クリックして [既存の項目を追加] をクリックすると、既存の SSIS パッケージになります。

追加、既存のアイテム

于 2013-03-19T15:46:45.317 に答える