Događaji
Izgradite inteligentne aplikacije
M03 17 21 - M03 21 10
Pridružite se seriji susreta kako biste sa kolegama programerima i stručnjacima izgradili skalabilna AI rješenja zasnovana na stvarnim slučajevima korištenja.
Registrirajte seOvaj preglednik više nije podržan.
Nadogradite na Microsoft Edge da iskoristite najnovije osobine, sigurnosna ažuriranja i tehničku podršku.
When MSBuild compiles a .NET Core project, XML resource files, which have the .resx file extension, are converted into binary .resources files. The binary files are embedded into the output of the compiler and can be read by the ResourceManager. This article describes how MSBuild chooses a name for each .resources file.
Savjet
If you explicitly add a resource item to your project file, and it's also included with the default include globs for .NET Core, you will get a build error. To manually include resource files as EmbeddedResource
items, set the EnableDefaultEmbeddedResourceItems
property to false.
In .NET Core 3.0 and later, the default name for a resource manifest is used when both of the following conditions are met:
EmbeddedResource
item with LogicalName
, ManifestResourceName
, or DependentUpon
metadata.EmbeddedResourceUseDependentUponConvention
property is not set to false
in the project file. By default, this property is set to true
. For more information, see EmbeddedResourceUseDependentUponConvention.If the resource file is colocated with a source file (.cs or .vb) of the same root file name, the full name of the first type that's defined in the source file is used for the manifest file name. For example, if MyNamespace.Form1
is the first type defined in Form1.cs, and Form1.cs is colocated with Form1.resx, the generated manifest name for that resource file is MyNamespace.Form1.resources.
If a resource file is explicitly included in the project file as an EmbeddedResource
item with LogicalName
metadata, the LogicalName
value is used as the manifest name. LogicalName
takes precedence over any other metadata or setting.
For example, the manifest name for the resource file that's defined in the following project file snippet is SomeName.resources.
<EmbeddedResource Include="X.resx" LogicalName="SomeName.resources" />
-or-
<EmbeddedResource Include="X.fr-FR.resx" LogicalName="SomeName.resources" />
Bilješka
If LogicalName
is not specified, an EmbeddedResource
with two dots (.
) in the file name doesn't work, which means that GetManifestResourceNames
doesn't return that file.
The following example works correctly:
<EmbeddedResource Include="X.resx" />
The following example doesn't work:
<EmbeddedResource Include="X.fr-FR.resx" />
If a resource file is explicitly included in the project file as an EmbeddedResource
item with ManifestResourceName
metadata (and LogicalName
is absent), the ManifestResourceName
value, combined with the file extension .resources, is used as the manifest file name.
For example, the manifest name for the resource file that's defined in the following project file snippet is SomeName.resources.
<EmbeddedResource Include="X.resx" ManifestResourceName="SomeName" />
The manifest name for the resource file that's defined in the following project file snippet is SomeName.fr-FR.resources.
<EmbeddedResource Include="X.fr-FR.resx" ManifestResourceName="SomeName.fr-FR" />
If a resource file is explicitly included in the project file as an EmbeddedResource
item with DependentUpon
metadata (and LogicalName
and ManifestResourceName
are absent), information from the source file defined by DependentUpon
is used for the resource manifest file name. Specifically, the name of the first type that's defined in the source file is used in the manifest name as follows: Namespace.Classname[.Culture].resources.
For example, the manifest name for the resource file that's defined in the following project file snippet is Namespace.Classname.resources (where Namespace.Classname
is the first class that's defined in MyTypes.cs).
<EmbeddedResource Include="X.resx" DependentUpon="MyTypes.cs">
The manifest name for the resource file that's defined in the following project file snippet is Namespace.Classname.fr-FR.resources (where Namespace.Classname
is the first class that's defined in MyTypes.cs).
<EmbeddedResource Include="X.fr-FR.resx" DependentUpon="MyTypes.cs">
If EmbeddedResourceUseDependentUponConvention
is set to false
in the project file, each resource manifest file name is based off the root namespace for the project and the relative path from the project root to the .resx file. More specifically, the generated resource manifest file name is RootNamespace.RelativePathWithDotsForSlashes.[Culture.]resources. This is also the logic used to generate manifest names in .NET Core versions prior to 3.0.
Bilješka
RootNamespace
is not defined, it defaults to the project name.LogicalName
, ManifestResourceName
, or DependentUpon
metadata is specified for an EmbeddedResource
item in the project file, this naming rule does not apply to that resource file..NET povratne informacije
.NET je projekat otvorenog koda. Odaberite vezu za pružanje povratnih informacija:
Događaji
Izgradite inteligentne aplikacije
M03 17 21 - M03 21 10
Pridružite se seriji susreta kako biste sa kolegama programerima i stručnjacima izgradili skalabilna AI rješenja zasnovana na stvarnim slučajevima korištenja.
Registrirajte seObučavanje
Modul
Design consistent .NET MAUI XAML pages by using shared resources - Training
Learn how to use static and dynamic shared resources to build a .NET Multi-platform App UI (MAUI) user interface. And see how styles can make the user interface both consistent and accessible.