問題タブ [assemblyinfo]

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 投票する
3 に答える
15160 参照

visual-studio-2008 - 「LNK2022: メタデータの操作に失敗しました」というメッセージに頭がおかしくなりました

VS2008 SP1 を使用して、多くのプロジェクトで大きなソリューションを持っていますが、少なくとも 1 日に 1 回は LNK2022 エラーが発生します。ソリューションを完全に再構築すると問題なくビルドできますが、これは面白くありません。

これは、依存する DLL が「わずかに」(つまり、メソッドやクラスを変更せずに) 変更され、参照元のプロジェクトが後でビルドされた場合に発生します。メタデータをマージするときに失敗します-それが何を意味するにせよ。

最初に注意すべきことは、共有 DLL が#using複数の .CPP ファイルから参照されていることです。
2 つ目は、AssemblyInfo.cpp を共有 DLL から削除すると、問題が解決することです (ただし、これが賢明な修正であるかどうかはわかりません)。

2 つの CLR クラス ライブラリ プロジェクトを含む次のソリューションに可能な限り絞り込みました( xxxプロジェクトはSharedに依存します)。
代替テキスト

各ファイルの内容は次のとおりです。

共有.cpp:

インチ:

xxx.cpp および xxx2.cpp:

再現するには、まずソリューションを再構築します。それは問題なくビルドされます。Shared.cpp
を 保存してソリューションをビルドすると、正常にビルドされ、次のように表示されます。

xxx.cppを保存してソリューションをビルドすると、次のメッセージが表示されて失敗します。

編集:
xxx.obj と xxx2.obj の IL の違いは次のとおりです。

(xxx.obj の場合)
// AssemblyRef #2 (23000002)
// ---------------------------------- ---------------------
// トークン: 0x23000002
// 公開鍵またはトークン:
// 名前: 共有
// バージョン: 1.0.3412.16 606
// メジャー バージョン.
_
_
_ _
_
_ _
// フラグ: [なし] (00000000)

(xxx2.obj の場合)
// AssemblyRef #2 (23000002)
// ---------------------------------- ---------------------
// トークン: 0x23000002
// 公開鍵またはトークン:
// 名前: 共有
// バージョン: 1.0.3412.16 585
// メジャー バージョン.
_
_
_ _
_
_ _
// フラグ: [なし] (00000000)

これは、xxx2.obj がまだ古いバージョンの Shared.dll を使用しており、更新された Shared.dll を使用している xxx.obj と競合していることを意味します。では、どうすればそれを回避できますか?

0 投票する
4 に答える
7422 参照

svn - AssemblyInfo.cs をバージョン管理に配置する必要がありますか?

CruiseControl を使用した自動ビルド システムがあります。使用するバージョン文字列を取得するために SvnRevisionLabeller を使用しています。この文字列を使用すると、nant を使用して AssemblyInfo.cs を更新できるため、ビルド時に正しいビルド文字列が含まれます。この CC ラベルを使用して、Subversion リポジトリにタグを付けることもできます。

すべてが揃っているので、
CCNet ビルド ラベル
- 実行可能ファイル (アセンブリ情報)
- バージョン管理 (サブバージョン タグ)

ここで問題が発生するのは、リポジトリから古いイメージを再構築しようとする場合です。AssemblyInfo.cs はバージョン管理下ではなく、生成されたファイルであるため、ビルドしようとすると、バージョン管理情報は、このバージョンのリポジトリが CruiseControl を使用してビルドされたときと同じにはなりません。CC ビルド中にビルドされたか、後日 Subversion からチェックアウトしたときにビルドされたかに関係なく、まったく同じイメージを生成できるようにしたいと考えています。

多くの場合、推奨されないことはわかっていますが、svn チェックアウトから後でビルドするときに正しいバージョン情報が使用されるように、ビルドごとに assemblyInfo.cs ファイルをチェックインする必要がありますか?

ありがとう、リアム

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

assemblyinfo - ビルド中に新しいビルドとリビジョンでassmeblyバージョン情報を更新するにはどうすればよいですか?

assemblyinfo.csファイルのアセンブリバージョンのビルド番号を更新する必要があります。ビルドを開始する前に、ソリューションの下ですべてのassmeblyinfo.csを更新するカスタムタスクを作成しました。しかし、このファイルを変更してビルドしようとすると、特定のバージョンのアセンブリが見つからないため、他のdllの参照を持ついくつかのdllをコンパイルできません。厳密な名前のアセンブリを使用するファイルもいくつかあります。バージョンを更新する方法がわからない。特定のバージョンをfalseに設定しようとしましたが、それでも同じエラーが発生します。

増分ビルド番号でassemblyinfo.csを更新する良い方法を教えてもらえますか?

PS私はビルドによる自動化にNANTタスクを使用しています。

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

c# - ThemeInfo 属性は何のためのものですか?

新しい WPF アプリケーションまたは WPF ユーザー コントロール ライブラリを作成するたびに、AssemblyInfo.csファイルには次の属性が含まれます。

このThemeInfo属性の目的は何ですか? 外すと何か壊れますか?

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

c++ - Win32 DLLプロジェクトに「AssemblyInfo.cs」に相当するものはありますか?

私はすでにこのトピックを見ましたが、答えを裏返す必要があります。Win32 DLLでアセンブリ情報属性*を設定するにはどうすればよいですか?

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

c# - C# プロジェクトのバージョン形式を変更することはできますか?

major.minor.build.revision 形式の代わりに、バージョン番号に日付と時刻を使用したいと思います。日.月.年.時間のようなもの。AssemblyInfo.cs の AssemblyVersion 属性の形式を変更する方法はありますか?

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

c# - ラッパークラスを独自のクラスプロジェクトに移動したため、Log4Net.configが読み込まれていません。

誰か助けてもらえますか、私は成功してlog4netを使用していますが、基本的にWebプロジェクトに静的クラス(ラッパー)があり、これをassemblyinfo.csに追加してlog4net.configという外部ファイルから構成をロードします

これで、静的クラスを独自のクラスプロジェクトに移動して、静的クラス(ラッパー)を他のプロジェクトと共有できるようにすることにしました。

log4net.configはまだwebprojectにありますが、もちろん現在はロードされていません。静的クラス(現在は独自のプロジェクト)で実行しているため、これを知ることができます。

IsInfoEnabledはfalseを返し、何もログに記録されておらず、.configファイルは読み取られていません...

Log4netラッパー(静的クラス)は独自のクラスプロジェクトにありますが、.configファイルはWebプロジェクトihaveにあります。.configはプロジェクトごとに変更できますが、通常はラッパーは変更されないため、このように必要です。 。

もちろん、抽象クラスを作成し、Webプロジェクトで継承し、必要に応じて何かをオーバーライドすると思いました...しかし、もちろん、静的クラスを継承したり、抽象を作成したりすることはできません。

他の誰かがこれに出くわしたと確信しています、何かアイデアはありますか?..本当に感謝している助け

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

visual-studio - 1 つのソリューションで複数のプロジェクトの VS.net セット バージョン

ソリューション内のさまざまなプロジェクトを更新して、新しいバージョン番号を取得しようとしています。すべてのプロジェクトの fileversion と clickonce オプションでバージョン番号を同期する簡単な方法はありますか?

答え

最後に、小さなツールを作成して問題を解決しました。

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

c# - .csproj 内から solutioninfo.cs および assemblyinfo.cs にアクセスする

.csproj ファイル内の solutioninfo.cs と assemblyinfo.cs からいくつかの情報にアクセスし、それをプロパティとして使用する必要があります。

の値を使用します

私のcsprojで:

値にアクセスする方法はありますか?

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

asp.net - ASP.NET Web サイトでバージョン番号を指定する場所

したがって、AssemblyInfo.cs ファイルや Bin フォルダーなどを持たない ASP.NET 'Web サイト' (Web アプリケーションではなく) があります。

アセンブリのバージョン番号 (7.0.2.0 など) を指定する方法が必要です。Web アプリケーションでは、AssemblyInfo.cs ファイルでこれを行います。

AssemblyInfo.cs ファイルを含む Properties フォルダーを追加しようとしましたが、それが取得されているとは思いません - Assembly.GetExecutingAssembly().GetName().Version.ToString() を呼び出すと 0.0.0.0 が取得されるため

では、AssemblyInfo.cs を機能させるにはどうすればよいですか、またはバージョン番号を指定するにはどうすればよいですか?