典型的な.NET Frameworkアプリケーションでは、.csproj
ファイルの<RootNamespace>
プロパティにルート名前空間を設定し、埋め込みリソースなどのルート名前空間を設定します。.NETコアのproject.jsonにルート名前空間を設定するにはどうすればよいですか?
.NETコアの世界(RC2以降)では、実行時に同じ結果を得るためにproject.json
のルート名前空間をどのように設定しますか?
典型的な.NET Frameworkアプリケーションでは、.csproj
ファイルの<RootNamespace>
プロパティにルート名前空間を設定し、埋め込みリソースなどのルート名前空間を設定します。.NETコアのproject.jsonにルート名前空間を設定するにはどうすればよいですか?
.NETコアの世界(RC2以降)では、実行時に同じ結果を得るためにproject.json
のルート名前空間をどのように設定しますか?
ルート名前空間は、(テンプレートから)クラスファイルを足場に取り付けるときに自動的に名前空間を作成するためのVisual Studioの概念です。 .NET Coreプロジェクトの.xprojファイル(Visual Studioと.NET Coreツールの間のブリッジなので)で設定を見つけることができます。
Atomなどの.NETコアプロジェクトを編集できる他のエディタでは、独自のスキャフォールディング手法を使用しており、「ルート名前空間」という概念はありません(また、.xprojファイルも使用しません)。したがって、project.jsonに設定する必要はありません。リソースの使用については
:Image as resource in Asp.Net 5 class library
PS:.xprojは、MSBuildのファイルであり、Microsoftは、最終的な.NETのコアツール用のMSBuildに切り替わりますので、その答えは時代遅れかもしれません(しかし、足場があるので、私はないと思いますmsbuildの話ではない)。
具体的には、組み込みリソースの名前に関して、.NET Franeworkと.NET Coreのこの違いを回避する方法を見つけることを試みています。https://github.com/martincostello/project-euler/blob/dot-net-コア/ src/ProjectEuler/Puzzle.cs#L93-L96 –
あなたの問題があります。 msbuildとproject.jsonの実装の違いのようです。私はcsprojのルートネームスペースを混乱させることを除いて(同じリソース識別子文字列をエミュレートするために)、修正がないと思います。あなたのために良いこと:.NETコアはmsbuildに切り替えるので、時間の経過と共に解決します。 – Thomas
.NET Coreには生成されたコードが埋め込まれているので、そのためにはルート名前空間は必要ありません。なぜあなたはそれを正確に必要としますか? – svick
私が必要とする理由は、組み込みリソースの名前を正確に通勤することです:https://github.com/martincostello/project-euler/blob/dot-net-core/src/ProjectEuler/Puzzle.cs#L93-L96 –