0

Visual Studio 2012 には、IIS Web アプリケーションである Web アプリケーションがほとんどありません。Web アプリケーションに既に追加されている参照アセンブリのリストが見つかりません。

それらのバージョンを確認する必要があり、他のプロジェクトがソリューションで再構築されたときにそれらが更新されているかどうかを確認する必要がありますが、\binフォルダー内の直接のプロジェクト DLL 以外に、次のような参照のリストが見つかりません。他のプロジェクト タイプ。

また、そのようなリストがない場合、Web Application's Binフォルダーに存在する特定の DLL が追加Add Referenceされたか、直接コピーされたかをどのように確認できますか?

4

3 に答える 3

3

同じかどうかはわかりませんが、VS 2013 では [プロジェクト] -> [プロパティ ページ] を右クリックし、左側の [参照] を選択します。

于 2014-11-25T17:36:40.447 に答える
1

私は職場でVS 2012を持っていませんが、VS 2010でできることは次のいずれかです。

  1. Web アプリケーション プロジェクトをアンロードし (プロジェクトを右クリックしてアンロード)、右クリックして編集します。次に、すべての参照のリストが表示されます。
  2. または、プロジェクトが存在する windows フォルダーを開き、プロジェクト ファイル (.csproj) を notepad++ (または同等のもの) で開きます。

あなたの質問を正しく理解できたことを願っています!

于 2013-09-02T13:13:25.220 に答える
0

コードを取り除いたものを提供するので、「準備ができている」解決策ではありませんが、メイン アセンブリのリストを知っていて、それらのアセンブリによって参照されているものが欠落しているかどうかを知りたいという前提があります。

    private void PopulateReferencedButMissingAssemblies(List<string> listOfKnowAssymblies)
    {
        HashSet<string> missingRefs = new HashSet<string>();

        foreach (string assemblyName in listOfKnowAssymblies)
        {
            Assembly parent = Assembly.Load(assemblyName);
            AssemblyName[] refs = parent.GetReferencedAssemblies();

            foreach (AssemblyName d in refs) //checking references
            {
                try
                {
                    Assembly subRef = Assembly.Load(d.FullName);
                    subRef = null; //release loaded assembly
                }
                catch
                {
                    missingRefs.Add(d.FullName);
                }
            }
        }

        if (missingRefs.Count == 0)
        {
            //refsPanel.Visible = false;
            //return;
        }


        foreach (string mref in missingRefs)
        {
            //display missing refs in my case
        }

    }
于 2014-04-30T15:47:46.210 に答える