0

プロジェクトの 1 つで使用しているビジュアル スタジオ セットアップ プロジェクトがあります。MSI に含めたくない多くの依存関係を示しているため、それらを (VS UI から) 除外しました。しかし、何らかの理由で、コマンド ライン msbuild it を使用すると、VS2010 は依然として除外された依存関係を探します。次に、vdproj ファイルをテキスト エディターで開き、すべての依存関係を手動で削除することにしました。これで、ローカルの msbuild の問題は解決しましたが、TFS ビルドを使用してビルドすると、すべての依存関係が MSI に再注入されます。

元:

"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_EE52F4998F1347C63BF8AE8E07278827"
        {
        "AssemblyRegister" = "3:1"
        "AssemblyIsInGAC" = "11:FALSE"
        "AssemblyAsmDisplayName" = "8:myproject.Test, Version=3.3.0.0, Culture=neutral, processorArchitecture=MSIL"
            "ScatterAssemblies"
            {
                "_EE52F4998F1347C63BF8AE8E07278827"
                {
                "Name" = "8:Test.testmsi.DLL"
                "Attributes" = "3:512"
                }
            }
        "SourcePath" = "8:test.testmsi.SR.DLL"
        "TargetName" = "8:"
        "Tag" = "8:"
        "Folder" = "8:_289AAB175D4E4DA9B94AC6756E51F3F9"
        "Condition" = "8:"
        "Transitive" = "11:FALSE"
        "Vital" = "11:TRUE"
        "ReadOnly" = "11:FALSE"
        "Hidden" = "11:FALSE"
        "System" = "11:FALSE"
        "Permanent" = "11:FALSE"
        "SharedLegacy" = "11:FALSE"
        "PackageAs" = "3:1"
        "Register" = "3:1"
        "Exclude" = "11:TRUE"
        "IsDependency" = "11:TRUE"
        "IsolateTo" = "8:"
        }

したがって、基本的に私がしたことは、ファイルのこれらのセクションをすべて削除することでした

 "Exclude" = "11:TRUE"
 "IsDependency" = "11:TRUE"

TFSがMSIに他のものを挿入しないように、ファイルから削除する必要があるものは他にありますか?

ありがとう

4

2 に答える 2

2

依存関係の自動検出は敵です。

ビルド マシン上のインストーラー プロジェクトでのみ作業し、ビルド マシンを介してチェックインし、最終リリース構成でのみ行うことで、影響を最小限に抑えることができます。次に、除外が「保持」されます。少なくとも彼らは私のためにします。

ここで、このコンポーネントに関する私の気まぐれを参照してください。

于 2016-11-29T18:17:50.593 に答える