मैंने अभी आरसी 2 में अपग्रेड किया है और अब काम करने के लिए उपयोग नहीं किया जाता है। मेरे पास एक अलग परियोजना में दो resx फ़ाइलें हैं और मैं डेटा तक पहुंचने के लिए एक कस्टम क्लास का उपयोग करता हूं। अब मुझे यह चलते समय निम्न त्रुटि मिलती है:अलग परियोजना में स्थानीयकरण Asp.net कोर एमवीसी
अनुपलब्धमैंशन संसाधन संसाधन: निर्दिष्ट संस्कृति या तटस्थ संस्कृति के लिए उपयुक्त कोई संसाधन नहीं मिला। सुनिश्चित करें कि "GarageWeb.Core.CoreResources.resources" को संकलित समय पर असेंबली "गैरेजवेब.कोर" में सही ढंग से एम्बेड या लिंक किया गया था, या आवश्यक सभी उपग्रह असेंबली लोड करने योग्य और पूरी तरह से हस्ताक्षरित हैं।
संपादित करें: मैं इस सरलीकृत और एक सांत्वना अनुप्रयोग है कि सब कुछ है, लेकिन यहाँ क्या त्रुटि पुन: पेश करने के लिए आवश्यक है छीन लिया है बनाने के लिए:
public class ResourceService : IResourceService
{
private readonly ILoggingService _loggingService;
private readonly ICoreGlobalResourceService _coreGlobalResources;
private readonly ISiteGlobalResourceService _siteGlobalResources;
public ResourceService(ILoggingService loggingService, ICoreGlobalResourceService coreGlobalResourceService, ISiteGlobalResourceService siteGlobalResources)
{
_loggingService = loggingService;
_coreGlobalResources = coreGlobalResourceService;
_siteGlobalResources = siteGlobalResources;
}
public string GetGlobalText(string resourceKey, bool includeBrackets = true)
{
var localizedString = _coreGlobalResources.ResourceManager.GetString(resourceKey);
if (string.IsNullOrEmpty(localizedString))
{
localizedString = _siteGlobalResources.ResourceManager.GetString(resourceKey);
}
if (string.IsNullOrEmpty(localizedString) && includeBrackets)
{
_loggingService.LogInvalidResource(resourceKey);
}
if (includeBrackets)
{
return localizedString ?? "[" + resourceKey + "]";
}
return localizedString ?? resourceKey;
}
public string BuildMessageFromResource(string resourceKey, string placeHolderResourceKey1,
bool includeBrackets = true)
{
var errorString = string.Format(CultureInfo.CurrentCulture, GetGlobalText(resourceKey, includeBrackets),
GetGlobalText(placeHolderResourceKey1, includeBrackets));
return errorString;
}
public string BuildMessageFromResourceAndArray(string resourceKey, string[] arrayOfValues,
bool includeBrackets = true)
{
var placeHolderValue = "";
for (var i = 0; i < arrayOfValues.Length; i++)
{
if (i + 1 == arrayOfValues.Length)
{
placeHolderValue += GetGlobalText(arrayOfValues[i], includeBrackets);
}
else
{
placeHolderValue += GetGlobalText(arrayOfValues[i], includeBrackets) + ", ";
}
}
var errorString = string.Format(CultureInfo.CurrentCulture, GetGlobalText(resourceKey, includeBrackets),
placeHolderValue);
return errorString;
}
public string BuildMessageFromResourceAndTwoArrays(string resourceKey, string[] firstArrayOfValues,
string[] secondArrayOfValues,
bool includeBrackets = true)
{
var placeHolderOneValue = "";
var placeHolderTwoValue = "";
for (var i = 0; i < firstArrayOfValues.Length; i++)
{
if (i + 1 == firstArrayOfValues.Length)
{
placeHolderOneValue += GetGlobalText(firstArrayOfValues[i], includeBrackets);
}
else
{
placeHolderOneValue += GetGlobalText(firstArrayOfValues[i], includeBrackets) + ", ";
}
}
for (var i = 0; i < secondArrayOfValues.Length; i++)
{
if (i + 1 == secondArrayOfValues.Length)
{
placeHolderTwoValue += GetGlobalText(secondArrayOfValues[i], includeBrackets);
}
else
{
placeHolderTwoValue += GetGlobalText(secondArrayOfValues[i], includeBrackets) + ", ";
}
}
var errorString = string.Format(CultureInfo.CurrentCulture, GetGlobalText(resourceKey, includeBrackets),
placeHolderOneValue, placeHolderTwoValue);
return errorString;
}
public string BuildMessageFromResource(string resourceKey, string placeHolderResourceKey1,
string placeHolderResourceKey2, bool includeBrackets = true)
{
var errorString = string.Format(CultureInfo.CurrentCulture, GetGlobalText(resourceKey, includeBrackets),
GetGlobalText(placeHolderResourceKey1, includeBrackets),
GetGlobalText(placeHolderResourceKey2, includeBrackets));
return errorString;
}
public string BuildMessageFromResource(string resourceKey, string placeHolderResourceKey1,
string placeHolderResourceKey2, string placeHolderResourceKey3,
bool includeBrackets = true)
{
var errorString = string.Format(CultureInfo.CurrentCulture, GetGlobalText(resourceKey, includeBrackets),
GetGlobalText(placeHolderResourceKey1, includeBrackets),
GetGlobalText(placeHolderResourceKey2, includeBrackets),
GetGlobalText(placeHolderResourceKey3, includeBrackets));
return errorString;
}
}
: https://github.com/GarageWeb/ResourceTest
यहाँ वर्ग कि संसाधनों तक पहुँचता है यह यहां विफल रहता है: var localizedString = _coreGlobalResources.ResourceManager.GetString (resourceKey);
कोई विचार? क्या इन संसाधनों को एम्बेड करने का कोई नया तरीका है?
क्या आपने संसाधन फ़ाइलों को एम्बेड किया [जैसा कि यहां बताया गया है] (https://github.com/aspnet/Announcements/issues/175)? – poke
मैंने किया, कोई भाग्य नहीं। – mrfleck
'" बिल्डऑप्शन ": { " एम्बेड करें ": { " includeFiles ": [" संसाधन/CoreResources.resx "," संसाधन/साइट स्रोत।resx "] } } 'यही वह जगह है जहां मैंने फ़ाइलों को एम्बेड किया था। यह संदर्भित प्रोजेक्ट में है। जेसन – mrfleck