問題タブ [sgen]

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 に答える
604 参照

asp.net-mvc - Web 参照で Web サイトを公開できません - SGEN エラー

Web 参照が 1 つある Web サイト (MVC) があります。VS でビルドして実行します。しかし、ディスクに公開しようとすると、次のエラーが発生します。

SGEN: エラー: 要求されたタイプの 1 つ以上を読み込めません。詳細については、LoaderExceptions プロパティを取得してください。

Web 参照を削除すると、公開が機能します。どこが問題になる可能性がありますか?ありがとう。

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

c#-4.0 - リリース モードでプロジェクトをビルドできません

デバッグ モードでプロジェクトをビルドできます。リリース モードに変更すると、次のメッセージが表示されます。

アセンブリ ミックス モードは、実行時にバージョン 'v2.0.50727' に関連してコンパイルされたものであり、追加情報の構成なしでは実行時 4.0 に読み込まれません。

ファイル: SGEN

このファイルがなく、どうすればよいかわかりません。

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

.net-assembly - SGEN : エラー : 混合モード アセンブリ

プロジェクトをリリースモードで公開するときに、このエラーが発生するのを手伝ってくれる人はいますか

SGEN : エラー : 混合モード アセンブリはランタイムのバージョン 'v2.0.50727' に対してビルドされており、追加の構成情報がないと 4.0 ランタイムに読み込むことができません。

この問題で立ち往生している私を助けてください。

0 投票する
0 に答える
1197 参照

.net - .NET 4.5 アセンブリで sgen.exe を実行していますか?

C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\sgen.exe以前は .NET 4 アセンブリから sgen.exe を実行してターゲットにしていましたが、正常にビルドされました。プロジェクトを .NET 4.5 にアップグレードすると、次のエラーで失敗します。

新しいフレームワーク用に更新された sgen.exe が必要になると考えたので、試してみましC:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 ToolsC:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Toolsが、それらも失敗しました:

.net 4.5 アセンブリで sgen.exe を使用することは可能ですか?

(編集)コマンドラインを使用:

PS C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1a\bin\NETFX 4.5.1 Tools\x64> . .\sgen /f /a:"D:\MyProject\bin\x64\Debug\MyProgram.exe"

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

c# - SGEN (x86): .NET4.6 が必要であると表示される

Visual Studio 2015 をインストールし、(32 ビット) VS2010 プロジェクトをアップグレードしようとしています。プロジェクトがコンパイルされると、SGEN (シリアライゼーション アセンブリの生成 = オン) を実行しようとします。

コマンド ラインから、または Visual Studio で、次のウィンドウが表示され、sgen のコマンド ライン オプションは表示されません。

ここに画像の説明を入力

これは、VS2015 (リリース) の一部としてインストールされた .NET 4.6 です。32 ビットの .Net 4.6 アセンブリを実行できるので、インストール済みです。

.Net4.6 のインストールで「修復」を使用しても、問題が修正されなかったり、問題が報告されたりしませんでした。.NET x86 および x64 のレジストリ キーは正常 (および同じバージョン) のようです。

Microsoft Connectにログイン済み

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

tfs - TFS 2015 ビルド SGEN エラー:「不適切な形式のアセンブリ」

TFS ビルド システムを 2012 年から 2015 年にアップグレードし、ビルド マシンを再作成しています。ビルド サービスをセットアップし、必要な依存関係などをインストールしました。(レガシー) XAML ビルドは、次の SGEN エラーを除いて正常に動作しています。

SGEN: 正しくない形式のアセンブリを読み込もうとしました: (コンパイルされたプロジェクト .dll の場所)

多くのグーグルとスタックオーバーフローの記事を読んだ後、私はまだ途方に暮れています。次のような複数のページを参照しました: - SGEN: 不適切な形式のアセンブリを読み込もうとしました

私が試してみました

  • Windows SDK 8.1 (および 8.0)、6.1、SDK for Win Server 2008 .net 3.5 のインストール
  • .Net 3.5 から 4.6.1 へのインストール
  • Visual Studio 2010、2012、2015 のインストール
  • TFS ビルド XMAL テンプレート ファイル設定 MSBuildPlatform を x86 に変更する (Microsoft.TeamFoundation.Build.Workflow.Activities.ToolPlatform.x86)
  • Generate serialization stratgy 設定がすべてのプロジェクトで auto に設定されていることを確認しました
  • ビルド定義 MSBuildPlatform と「ビルドする構成」の設定を x86 に変更しましたが、これにより複数の (無関係な) エラーが生成されました。最終的に、コンパイルされたプロジェクトは x64 として実行する必要があります。

また

  • C:/Program Files/... には sgen.exe はありませんが、C:\Program Files (x86) には複数あります。システムに x64 バージョンがあるかどうかも確認できず、インストール先もわかりません。
  • build 'configuration to build' オプションを x86 に設定することはできません。これは x64 としてコンパイルする必要があります。

別のチームが所有する非常に大きなコード ベースを構築しているため、絶対に必要でない限り、.SLN または .csproj ファイルを変更することは実際には良い解決策ではありません。

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

c# - MyAssembly.XmlSerializers.dll が生成されない

WCF テスト クライアントを使用してサービスへの要求を行っていますが、次のエラーが発生します。

WCF テスト クライアントの例外 Project Properties -> Build で Generate Serialization Assembly がオンになっていることを確認しました。

また、.csproj で次のコード (ビルドの一部として Xml シリアル化アセンブリを生成する) を使用して、XML シリアル化を強制するために SGEN をアクティブにしました。

ただし、次のエラーが表示されます。

反映型例外 これが最初のエラーの原因ではないかと思いますが、このオブジェクトは Service Reference 内のオブジェクトです。

Reference.cs の Object 宣言は次のとおりです。

MyAssembly.XmlSerializers.dll を生成するにはどうすればよいですか?

更新 1:

アプリケーションとサービス参照の間の最後の接点に try catch を挿入した後:

例外のある文字列を返した後、次のエラーが発生します。

更新 2:

「MyAssembly.XmlSerializers.dll を読み込めませんでした」で指定されているように SGEN ツールを手動で実行した後システムは、Visual Studio コマンド プロンプトで指定されたファイルを見つけることができません。次のエラーが表示されます。

aDoc_Client.DocumentManagementExplicitService と aDoc_Client.AuthenticationExplicitService はサービス参照です。サービス参照に新しい名前空間を指定する方法を見つける必要があるようです。

更新 3:

クレイジーなようですが、コードを 1 行も変更しなくても、サービスを呼び出したときに例外が発生しない場合があります。

  1. IIS リセット
  2. WCF テスト クライアント (FAILS) を使用してサービスを呼び出す
  3. WCF テスト クライアント (FAILS) を使用してサービスを呼び出す
  4. .net アプリケーションを使用してサービスを呼び出す (OK)
  5. WCF テスト クライアントを使用してサービスを呼び出す (OK)

そして、これは永遠に繰り返されます.netアプリケーションから最初に呼び出された後にのみ機能する理由を理解できないようです.

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

c# - XML シリアル化中に SecurityProtocolType.Ssl3 列挙値がありません

次の単純な XML シリアル化可能な型があります。

このオブジェクトのインスタンスを自分のコンピューターと複数のコンピューターで問題なくシリアル化できます。しかし、私がテストしたコンピューターの 1 つで、次の例外が発生します。

sgen.exe生成されたコードを動作ケースと失敗ケースで比較しました。作業ケースでは、次のコードが生成されています。

一方、失敗したコードでは、これが生成されたコードです。

Ssl3失敗したケースでは、enum メンバーのコードが生成されていないことがわかります。そのコードが欠落している理由がわかりますか?