問題タブ [side-by-side]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2000 参照

windows - 方法: プライベート SxS アセンブリとしての msvcrt9 の複数のバージョン?

Visual Studio 9 を使用して、過去にビルドされたビルド前の Dll モジュールで構成されるプロジェクトがあります。

プロジェクトの EXE は現在、Visual Studio 9 の SP1 を使用してビルドされています。

EXE を展開するときに管理アクセスを要求したくないため、C ランタイムはアプリケーションのルートにバンドルされています。Dll: MSVCRT90.DLL とそのマニフェスト: Microsoft.VC90.CRT.manifest

現在、ランタイム マニフェストの EXE と最新バージョンはすべて一致しています。アプリケーション マニフェストは msvcrt.dll の 9.0.30729.1 を要求しており、crt マニフェストには msvcrt90.dll がバージョン 9.0.30729.1 であることを確認するエントリが含まれています。

さて、問題です。私たちのアプリケーションで使用されているサード パーティの DLL ライブラリは、元の msvcrt90.dll バージョン 9.0.21022.8 に対してリンクされており、この効果に対する内部マニフェストを持っています。

VS9 CRuntime の両方のバージョンがインストールされている開発用 PC で、アプリは動作します。アプリを初めてインストールする「新しい」PC では、DLL のロードに失敗します。

今、私にできるチートがいくつかあります。1 つは、アプリを 9.0.2 に戻すことです。元のソース メディアから 9.0.2 DLL を取得します。9.0.3 が望ましいため、これは望ましくありません。または、サードパーティのライブラリを再構築するために一生懸命努力しています。

さらに、私たちの開発用 PC では、サード パーティのライブラリが古い dll を要求すると、新しい dll にリダイレクトされることを確信しています。それらはバイナリ互換です。

アプリケーション マニフェストとアセンブリは、この種のごみから私たち全員を救うことを目的としていました。exe と dll の両方を読み込めるように、アセンブリ マニフェスト ファイルを編集できる必要があります。

0 投票する
6 に答える
7353 参照

.net - C ++ランタイムの特定のバージョンをターゲットにするにはどうすればよいですか?

ほとんどがC#で記述された非常に大規模なプロジェクトがあり、C ++で記述された、小さいながらも重要なコンポーネントがいくつかあります。最低限必要なバージョンとして、.NET2.0のRTMをターゲットにしています。これまでのところ、この要件を満たすために、ビルドボックスに.NET 2.0のRTMのみが含まれていることを確認し、C++ピースがそのバージョンに対してリンクするようにしました。

更新:問題の原因となっているC ++アセンブリは、管理対象プロセスにロードされている混合モードのC++アセンブリです。

残念ながら、confikerが4月1日に何かをするように設定されたとき、私たちの企業ITはすべてにパッチを適用して最新の状態にするために大いに力を入れ、その結果、3.5SP1までのすべてがビルドボックスにインストールされました。以前に発生したすべてのアンインストールを試みましたが、その特定のボックスで構築されたものには.NET 2.0 SP1が必要なため、最小要件を満たすことができません。

問題のあるバージョンをアンインストールするだけではアンインストールできないという点でボックスがアンインストールされているように見えるので、アセンブリをビルドして、.NET 2.0(v2.0.50727.42)のRTMを使用するように明示的に指示する方法はありますか?マニフェストの使用について言及しているページを見たことがありますが、実際に適切なマニフェストを実装してアセンブリに組み込む方法がわかりません。私の専門知識は管理された世界にあるので、これには少し戸惑っています。

これらのアセンブリを.NET2.0RTM SxSアセンブリをターゲットにする方法を誰かが説明できますか?

ありがとう!

0 投票する
2 に答える
1376 参照

ruby - ruby openssl.so: 14001 エラー

私が書いた単純な ruby​​ プログラムを実行しようとすると、このエラーが発生します。コードが正常に機能する前に、先日すべてを再インストールしました。

ruby/1.8/i386-mswin32/openssl.so: 14001: side-by-side 構成が正しくないため、アプリケーションを起動できませんでした。詳細については、アプリケーション イベント ログを参照してください。- C:/ruby/lib/ruby/1.8/i386-mswin32/openssl.so (LoadError)

アプリケーション イベント ログ: "C:\ruby\bin\SSLEAY32.dll" のアクティベーション コンテキストの生成に失敗しました。依存アセンブリ Microsoft.VC90.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8" が見つかりませんでした。詳細な診断には、sxstrace.exe を使用してください。

0 投票する
5 に答える
434 参照

.net - .NET Framework 3.5のロールアウトに関する注意事項はありますか?

現在約20の.NETFramework2.0アプリケーションをホストしている本番アプリケーションサーバーに.NETFramework3.5をデプロイする場合、どの程度の懸念を払う必要がありますか?

.NETFramework3.5を環境にロールアウトするという私の要求に抵抗があります。自信を持って回帰テストを行うことはできません。また、各アプリケーションを自信を持ってテストするためのリソースもありません。

.NET Framework XXは、主要な設計目標として、1.0、1.2、2、3、3.5などを同じマシンに展開できるように構築および証明されており、相互作用が高いと確信しています。バージョンは以前のバージョンを壊しません。

私はITコミュニティで報告されている「重大な変更」を見つけようとしましたが、これまでのところ非常に少数の例しか見つかりませんでした。そのため、最小限のテストでこのランタイムの展開を迫る傾向があります。

この状況で.NET3.5を展開するためのこのアプローチについて、どの程度懸念されていますか。

0 投票する
1 に答える
709 参照

windows - リリース CRT アセンブリを見つけるビルド アプリをデバッグする

Visual Studio 2005 を使用して Windows でビルドするために、最近 Linux/gcc から移植した C++ アプリケーションがあります。このアプリは、最適化された CRT DLL を使用する DLL のみを提供するサードパーティ ライブラリを使用します (つまり、デバッグ CRT DLL)。VS2005 では、これは問題ではないようでした。デバッグ ビルドは、System32 ディレクトリに最適化された CRT DLL を見つけました。

現在、VS2008 でアプリをビルドして実行しようとしていますが、最適化された CRT DLL (msvc690.dll) が見つからないため、デバッグ ビルドを実行できません。VC9 CRT DLL は、GUID スタイル名のディレクトリに配置されています。これはサイド バイ サイド アセンブリであり、アプリはアプリのマニフェストを使用してそれを見つけることになっていると思います。ただし、ビルドされてアプリ exe に埋め込まれたマニフェストは、デバッグ CRT アセンブリのみを指定します。

私は Windows の専門家ではないので (少なくとも今はそうではありません)、これは私にとってまったく新しいことです。ここで正しい解決策は何ですか?マニフェスト コンパイラに、最適化された CRT DLL をアセンブリに追加するように指示する必要がありますか? もしそうなら、どうすればいいですか?

0 投票する
2 に答える
4641 参照

.net - サイド バイ サイド アセンブリとは

今日、デバッグ インストール セットをテスト マシンにインストールしようとしているときに、Side-by-side Assemblies に初めて遭遇しました。最終的にはうまくいきましたが、いくつかの疑問が残りました。

  1. Side-by-side アセンブリとは
  2. Windows はこれらのアセンブリを他のアセンブリとは異なる方法で処理します
  3. Side-by-side アセンブリに依存するアプリケーションは、通常のアセンブリとは異なる方法でこれらを処理する方法
  4. Side-by-side アセンブリを作成する必要があるのは、どのような状況ですか?
0 投票する
1 に答える
6929 参照

visual-studio-2005 - サイド バイ サイド アセンブリ、Windows 7、および Visual Studio 2005

Visual Studio 2005 SP1 がインストールされた Windows 7 マシンを使用しています。これを使用して、VS2005 SP1 でコンパイルされた Windows XP で実行時に DLL をロードするアプリケーションをビルドします。これは失敗し、次のエラーが発生します。

"...\foo.dll": サイド バイ サイド構成が正しくないため、アプリケーションを開始できませんでした。詳細については、アプリケーション イベント ログを参照するか、コマンド ライン sxstrace.exe ツールを使用してください。

読み込まれた DLL は、デバッグ CRT に対してコンパイルされます。この質問に対する答えは、vcredist_x86.exe には CRT のリリース バージョンのみが含まれていることを示唆しています。私のマシンとDLLがコンパイルされたマシンの両方に完全なVS2005 SP1がインストールされているため、この場合にそれが関係しているかどうかはわかりません。

Windows 7 で DLL を再構築する必要がありますか (再構築しない方がよいと思います)、Windows XP マシンで DLL が使用できなくなりますか?

0 投票する
3 に答える
32975 参照

msvcrt - サイド バイ サイド構成エラー (Microsoft.VC80.CRT v8.0.50608.0)

次のマニフェストが埋め込まれたアセンブリがあります。

私のマシンの 1 つで、このアセンブリが機能しません (アセンブリの読み込みに失敗します)。これを依存関係ウォーカーで開くと、次のエラー メッセージが表示されます。

同じアセンブリが別のマシンで正常に動作し、依存関係ウォーカーでエラーが発生しません。

私が解決できる限り、問題は最初のマシンに何らかの依存関係 (MSVCR 再頒布可能パッケージなど) がないことが原因ですが、既に確認済みで、Microsoft Visual C++ 2005 再頒布可能パッケージは両方のマシンに正常にインストールされています。

不足している依存関係を特定するにはどうすればよいですか?

私が気付いた唯一のことは、作業中のマシンの WinSxS ディレクトリに追加のエントリがあることです。

0 投票する
1 に答える
429 参照

sql-server-2005 - Sql Server 2005 が既にインストールされているマシンに Sql Server 2008 をインストールできますか

私のコンピュータには Sql Server 2005 Express がインストールされていますが、Sql Server 2008 Express もインストールしたいと考えています。この追加インストールを行う前に考慮すべきことは何ですか?

ありがとう。戻る

0 投票する
1 に答える
878 参照

com - COM コンポーネントの登録不要のアクティベーション

この登録不要アクティベーションの例は、VS2008 および Windows Vista/7 でも機能しますか? http://msdn.microsoft.com/en-us/library/ms973913.aspx

私はそれを機能させることができませんでした。しかし、Isolated COM 設定を使用して、埋め込みマニフェストに必要に応じて OCX ファイルをロードさせることができました。regsvr32 への登録も機能したため、マニフェストの何かが機能していません。GUID は正しいと思います。