問題タブ [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.
c# - AssemblyInfo.cs 、.net アプリケーションのバージョン
.net アプリケーションのバージョンを保持し、.net に管理させたいと考えています。それがどのように機能するのかよくわかりません。バージョン番号はプロジェクトごとですか? .net はどのようにバージョンを管理しますか? 誰かがそれを簡単に説明できれば、私は感謝します.
.net - AssemblyInfo.csのファイルバージョンがWindowsエクスプローラーのファイルプロパティに反映されていませんか?
AssemblyInfo.csファイルを含むVS2010プロジェクトがあります。これは持っています:
[assembly: AssemblyFileVersion("10.0.1.0")]
アプリを実行して、実行中のアセンブリからファイルバージョンを要求すると、10.0.1が問題なく取得されます。ただし、Windowsエクスプローラーで.exeファイルを右クリックして、プロパティダイアログを開くと、[詳細]タブに10.0.0.0(!)のファイルバージョンが表示されます。
Windowsでファイルバージョンに10.0.1が表示されないのはなぜですか?私は何かが欠けているに違いない...
追加情報:バージョンリソースをアプリの.resファイルに追加すると、コンパイルされた実行可能ファイルに情報が表示されますが、バージョンリソースに情報がない場合、コンパイルされたexeはファイルと「情報」を無視します(つまり、製品)AssemblyInfo.csのバージョン属性。
c# - 他のアプリケーションからAssemblyInfoを抽出するためのC++/ MFCアプリケーションを作成していますか?
C#/。NET3.5で記述された他のアプリケーションからAssemblyVersion情報を抽出できるC++ / MFCアプリケーション(いわゆる「更新アプリケーション」)を作成しようとしています。
したがって、取得できるバージョン情報に従ってC#プログラムを更新できます。
これは可能だと確信していますが、どちらが最善の方法かわかりません。
ウェブで検索できるテクニックやキーワードを教えてください。
直接の説明もいただければ幸いです。
visual-studio - いくつかの基準について、ソリューション内のすべてのプロジェクトをチェックする方法は?
ソリューション内のすべてのプロジェクトに、StyleCop 検証、AssemblyInfo の自動生成などの追加のビルド アクションを含める必要があります。
私の考えは、特定の xPath に一致するノードを含むすべてのプロジェクト ファイルをチェックする、ある種のソリューション全体のビルド前イベントを作成することです。これは難しい部分ではありません。カスタム ビルド タスクまたはサードパーティの Xml 処理タスクで解決できます。まだ深く調査していませんが、ここで言及する価値のある問題にはなりません。
質問は、
1) ソリューション ファイルをいくつかのカスタム タスクで拡張する方法です。ソリューションの不可欠な部分である必要はありません。必要ですが、VS からのビルド中は省略できます。それを実行する特定のコマンド ラインがあれば十分です。
2) それが不可能な場合は、「ソリューション全体のビルド前イベント?」に記載されているオプションがあります。ハックですが、他に選択肢がない場合はそれを使用します。しかし、ソリューション ファイルからプロジェクト ファイルのリストを取得する方法は? ソリューションを含むフォルダーには、チェックしてはならない余分なプロジェクト ファイルが含まれている可能性があることを考慮してください。
PS問題全体に対する他のオプションも大歓迎です:)
.net - アセンブリ構成情報はどこにありますか?
AssemblyInfo.cs ファイルには、次のサブセクションがあります。
アセンブリが構築された後、この情報はどこで確認できますか? ファイルの詳細には何もないので:

他にどこにありますか?
よろしく
c# - Application.UserAppDataPath の奇妙な動作
Application.UserAppDataPath を使用して構成にアクセスすると、ArgumentException "Illegal characters in path." が発生しました。
Microsoft によれば、これはバグではなく機能です。
FileVersionInfo.ProductVersion (したがって、Application.ProductVersion および Application.UserAppDataPath) で不正な文字を取得する唯一の方法は、アセンブリに AssemblyFileVersion もある場合です。AssemblyFileVersion に渡される値は、Win32 リソースに逐語的にコピーされ、AssemblyVersion に渡す値をオーバーライドします。この動作は仕様です。
そのため、AssemblyInfo.cs で [assembly: AssemblyFileVersion("...")] をコメントすることで、この例外を解決できます。
問題は次のとおりです。winforms コントロールを使用して .dll を作成しています。このパスを取得する最も簡単な設計は、Application.UserAppDataPath を使用することです。ただし、Application.UserAppDataPath が使用されている場合、このライブラリを使用する開発者は、.exe ファイルの AssemblyFileVersion を使用できません。(AssemblyFileVersion はデフォルトで AssemblyInfo.cs にあります)
また、AssemblyFileVersion を使用するとアプリケーションが停止し、誰かがそれを使用してはならないというマイクロソフトの情報を見つけることができませんでした。というわけで、実はこの図書館の利用者にお願いすることはできません。
そのような奇妙な状況に理由や論理はありますか?このような問題なく Application.UserAppDataPath パスを取得するためのより良い回避策は何ですか?
AssemblyFileVersion と Application.UserAppDataPath は例外をスローしますが、アプリケーションは機能し、このパスを介して取得できます
設定ファイルはそこにあり、問題はありません。しかし、確かに、それは醜い方法です。
assemblyinfo - グローバル アセンブリ情報ファイルへのリンクを内部的に使用するクラス ライブラリ アセンブリの使用
以下の現在のシナリオに苦労しています。私は vs 2010 と C# を .NET 4 で使用しています:
2 つのクラス ライブラリ プロジェクト (B および C と呼びます) を含む別のソリューション (ソリューション A と呼びます) があります。プロジェクト B にはプロジェクト C の「GlobalAssemblyInfo.cs」ファイルへのリンクがありますが、プロジェクト B はプロジェクト C に依存していません。単にプロジェクト C の .cs ファイルへのリンクがあるだけです。コンパイルされ、B.dll + C.dll が生成されます。
これで、コンソール アプリケーション プロジェクトが 1 つしかない (E と呼ぶ) まったく別のソリューション (D と呼ぶ) ができました。プロジェクト E に、B.dll への参照を追加します。私がコンパイルすると、すべてがうまくいきます。
問題は、プロジェクト E をデバッグするときに、プロジェクト B (または B.dll) のオブジェクトを使用するコード行に到達すると、「FileNotFoundException 未処理の例外です。ファイルまたはアセンブリ B を読み込めませんでした」というエラーが表示されることです。ここで、B はアセンブリ B の完全修飾名です。
この問題を解決するにはどうすればよいですか? プロジェクトCの「GlobalAssemblyInfo.cs」ファイルへのリンクが問題の原因であることはわかっています。このリンクを削除/削除すると、すべてが正常に機能し、アセンブリBでオブジェクトを使用できるためです。
リンクとは何かを理解する必要がある場合は、ソリューション/プロジェクト内のファイルにリンクする方法を説明する URL を次に示しますhttp://bloggingabout.net/blogs/jschreuder/archive/2006/11/02/Centralizing-AssemblyInfo-settings_2C00_- or-simplify-versioning-of-solutions.aspx
c# - .net:DLLとEXEのバージョン番号?
最近、製品(exe)をバージョン管理し、assemblyinfo.csで毎回ビルド番号を増やしています。
うまく機能します。私の製品は現在バージョン1.5.xxであるため、ビルドが成功するたびに4桁ずつ増やしていきます。
これで、アプリケーションの一部でもあるDLLができました。
どうすればこれらをバージョン管理できますか?これらを自分のexe、つまり1.5.xxと同じバージョンにする必要がありますか、それとも別の異なるバージョン番号を作成する必要がありますか?
これは私が現在少し混乱しているところです。
製品の機能が向上すると、1.5から2.0に上げることができますが、これによりDLLはどこに残りますか?
msbuild - MSBuild 拡張パック
私はいくつかの TFS ビルド定義ファイルをいじっていて、小さな問題に遭遇しました。hereで説明されているように、MSBuild Extension Pack を使用していますが、何らかの理由で、私の assemblyInfo.cs ファイルが TFS2010 からチェックアウトされていません。このタスクは、指定されたすべてのファイルをチェックアウトし、アセンブリ バージョンを変更する必要がありますか? すべてのファイルでバージョンが正しく変更されますが、その後保留中の変更はありません。何か案は?
versioning - TeamCity AssemblyInfo patcherパッチファイルですが、DLLのバージョンが「正しく」ありません
これが私のassemblyinfo.csバージョン文字列がビルド前のように見えるものです:
ビルド中に、パッチャーは私が望むことを行い、ファイルを変更します。
しかし、ビルド中のある時点で、これも実行されます。
次に、ビルドが完了すると、次のようになります。
Windowsエクスプローラーで結果のDLLを右クリックし、[プロパティ]をクリックして、[詳細]タブに移動すると、ファイルバージョンは「2.0.921.0」、製品バージョンは「2.0.921.00」になります。
私も「2.0.921.0」を取得しますAssembly.GetExecutingAssembly().GetName().Version.ToString()
私のビルドには2つのビルドステップがあります。1つはVSソリューションビルドで、もう1つはDLLを開発サーバーにコピーするだけのコマンドラインステップです。
ビルドログ全体が大きいので貼り付けたくありませんが、ここにハイライトがあると思います。
TeamCityのバージョン番号を編集します:6.5.1(ビルド17834 )
編集 6.5.4(ビルド18046)にアップグレードしました。動作に変化はありません。