發現我有一個Visual Studio
溶液,其具有2 C#項目:Xamarin XAML:類型不從外部組件
一個C#便攜式
BasicLib
;a C#portable
XAML project
。
我定義的資源文件,並在BasicLib
公共LocalizedStrings
類。它的命名空間是「PL.Common.BasicLib
」,程序集名稱是「PL.Common.BasicLib.dll
」。
LocalizedStrings.cs
namespace PL.Common.BasicLib
{
/// <summary>
/// Provides access to string resources.
/// </summary>
public class LocalizedStrings
{
private static AppResources _localizedResources = new AppResources();
public AppResources LocalizedResources { get { return _localizedResources; } }
}
}
然後我從XAML項目這個PL.Common.BasicLib
添加引用。到現在爲止還挺好。我雙擊XAML項目的「References
」節點中的程序集名稱,我可以在Visual Studio的「Object Browser
」的「PL.Common.BasicLib
」下看到類型「LocalizedStrings
」。現在
,我希望把這種資源到App.xaml
作爲應用程序資源以這樣的方式
的App.xaml:
<?xml version="1.0" encoding="utf-8" ?>
<Application xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:basiclib="clr-namespace:PL.Common.BasicLib;assembly=PL.Common.BasicLib"
x:Class="PL.Common.Xaml.App">
<Application.Resources>
<basiclib:LocalizedStrings x:Key="LocalizedStrings"/>
</Application.Resources>
</Application>
生成解決方案,沒有任何問題。當運行它時,會出現錯誤:
Xamarin.Forms.Xaml.XamlParseException: Position 8:6.
Type basiclib:LocalizedStrings not found in xmlns clr-namespace:PL.Common.BasicLib;assembly=PL.Common.BasicLib
有人可以幫忙看看錯誤在哪裏嗎?
謝謝!
你能否詳細說明你爲什麼要做這個結構?通常情況下,你會把你的本地化資源放到你的'Xamarin.Forms'項目的'PCL'中。 – Demitrian
我有類似的問題。你有沒有解決這個問題? – AbsoluteSith
你有沒有得到這個錯誤的解決方案?我也面臨同樣的問題。 –