[解決済み] .Net Core ライブラリへの組み込みリソース
質問
私は .Net Core を調べ始めたばかりですが、古典的なリソースやリソースに似たものを見かけません。古典的な .Net クラス ライブラリでは、たとえば、いくつかのスクリプトを含むテキスト ファイルを私のプロジェクトに追加することができましたが、これらのファイルをプロジェクトのリソースに追加することができます。その後、私は次の方法で簡単にそれを使用することができました。
Connection.Execure(Properties.Resources.MySuperScript);
.Net Coreのライブラリにはそのような機能はないようですね。少なくとも私には見えません。 ライブラリに埋め込まれたリソースとしていくつかの静的データを格納するための.Net Coreの代替手段はありますか?また、それが存在する場合、どのようにそれを使用するのですか?
どのように解決するのですか?
UPDATEしてください。
.NET Core 1.1 以降では、以下のようになりました。
project.json
を削除し
.csproj
のファイルに戻すことができます。
これはステップ2を変更しますが、それほど大きな変更ではありません。必要な行は非常によく似ています。
<ItemGroup>
<Content Remove="_fonts/OpenSans.ttf" />
<Content Remove="_fonts/OpenSans-Bold.ttf" />
<Content Remove="_fonts/OpenSans-Italic.ttf" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="_fonts/OpenSans.ttf" />
<EmbeddedResource Include="_fonts/OpenSans-Bold.ttf" />
<EmbeddedResource Include="_fonts/OpenSans-Italic.ttf" />
</ItemGroup>
同じような
*.tff
の形式があるかもしれません。未確認です。
ステップ1、3は変更なし。
.NET Core 1.0プロジェクトで埋め込みリソースを使用するには、以下を実行します。
-
通常通り、埋め込みファイルを追加します。
例: "_fonts"というディレクトリにあるいくつかのFONTファイル。
-
関連リソースを含めるために "project.json" を修正します。
私の場合
"buildOptions": { "embed": { "include": [ "_fonts/*.ttf" ] } },
-
コードで埋め込まれたリソースにアクセスします。
var assembly = typeof(MyLibrary.MyClass).GetTypeInfo().Assembly; Stream resource = assembly.GetManifestResourceStream("MyLibrary._fonts.OpenSans.ttf");
重要なポイントは、正しい名前で
GetManifestResourceStream
の呼び出しに を使用する必要があります。[assembly name].[directory].[file name]
.
関連
-
[解決済み】ORA-01008: すべての変数がバインドされていません。これらはバインドされています。
-
[解決済み】取り消せないメンバはメソッドのように使えない?
-
[解決済み】OnCollisionEnter2Dが実行されない?
-
[解決済み】aspNetCore 2.2.0 - AspNetCoreModuleV2 エラー
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] .NET Coreと.NET Standard Class Libraryのプロジェクトタイプの違いは何ですか?
-
[解決済み] EXEを出力する.NET Coreコンソールアプリケーションを構築する
-
[解決済み] .NET Core、.NET Framework、Xamarinの違いとは?
-
[解決済み】.NET Coreがインストールされているかどうかを判断する方法
-
[解決済み】.NET CoreとASP.NET Coreの比較
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】WebForms UnobtrusiveValidationModeは、jqueryのScriptResourceMappingを必要とする
-
[解決済み】文字列が有効な DateTime " format dd/MM/yyyy " として認識されなかった。
-
解決済み] Critical error detected c0000374 - C++ dll returns pointer off allocated memory to C# [解決済み] Critical error detected c0000374 - C++ dll returns pointer off allocated memory to C#.
-
[解決済み】SmtpException: トランスポート接続からデータを読み取れません:net_io_connectionclosed
-
[解決済み】バックスラッシュを含むパス文字列のエスケープシーケンスが認識されない件
-
[解決済み】なぜこのコードはInvalidOperationExceptionを投げるのですか?
-
[解決済み】「...は'型'であり、与えられたコンテキストでは有効ではありません」を解決するにはどうすればよいですか?(C#)
-
[解決済み】5.7.57 SMTP - MAIL FROMエラー時に匿名メールを送信するためにクライアントが認証されない
-
[解決済み】2つ(またはそれ以上)のリストを1つに統合する(C# .NETで
-
[解決済み】スレッド終了またはアプリケーションの要求により、I/O操作が中断されました。