我创建了一个"空白应用程序(通用Windows)"使用VS2015(使用Update 3)。
然后我添加了一个"类库(通用Windows)"投射到相同的解决方案,并从"空白应用程序"移动MainPage.xaml;投射到#34;观看" "类库中的文件夹" project(我还更改了XAML和CS中的命名空间以包含" Views")。
最后,我引用了"类库"来自"空白应用"的项目项目,添加"使用"对于"观看"命名空间到app.xaml.cs并尝试运行"空白应用程序"项目
它因System.AccessViolationException而失败:"尝试读取或写入受保护的内存。这通常表明其他内存已损坏"。
"空白申请"项目和"班级图书馆"该项目针对的是通用Windows,其目标版本为" 10.0(10586)"和#34; 10.0(10240)"的最低版本。这两个项目还引用了PRISM以及一个便携式类库"目标" .NET Framework 4.5"," ASP.NET Core 1.0"," Windows 8"," Windows Phone 8.1", " Windows Phone Silverlight 8"," Xamarin.Android"," Xamarin.iOS"和#34; Xamarin.iOS(经典)" - 与Prism.Core中相同的目标列表。
我是否尝试做一些不允许的事情?我想要的是能够根据功能组将我的观点分解为单独的DLL。
答案 0 :(得分:0)
我能够复制这个问题。这很有趣,我准备将我的所有XAML页面移动到DLL,以便我有一个干净的解决方案并构建不同的应用程序层,今天就看到了这个问题。这给我带来了一面红旗,因此开始寻找文档和解决这个问题的方法。经过3个小时的研究,我认为不是在线搜索,而是自己找到一种方法,然后想出从UWP解决方案在我的主页上创建内容控件。
<Page
x:Class="App8.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:App8"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<ContentControl x:Name="MainControl" />
</Page>
这是我的代码背后。
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
this.Loaded += MainPage_Loaded;
}
private void MainPage_Loaded(object sender, RoutedEventArgs e)
{
MainControl.Content = new ClassLibrary1.MainPage();
}
}