Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 发布版本中的抽象页面存在问题 形势_C#_Xaml_Uwp - Fatal编程技术网

C# 发布版本中的抽象页面存在问题 形势

C# 发布版本中的抽象页面存在问题 形势,c#,xaml,uwp,C#,Xaml,Uwp,我为我的UWP应用程序制作了一个抽象的页面:TestPage。此页面包含一些抽象项,在这种简化的情况下,只是一个字符串 可以找到MVCE C#代码: public抽象部分类TestPage:Page { 公共抽象字符串AbstractName{get;} 公共测试页() { 初始化组件(); } } XAML: 然后我制作了两个派生页面,或者更确切地说是类: 公共密封类TestPage1:TestPage { 公共重写字符串AbstractName=>“TestPage1”; } 公共密封

我为我的UWP应用程序制作了一个抽象的
页面
TestPage
。此页面包含一些抽象项,在这种简化的情况下,只是一个
字符串

可以找到MVCE

C#代码:

public抽象部分类TestPage:Page
{
公共抽象字符串AbstractName{get;}
公共测试页()
{
初始化组件();
}
}
XAML:


然后我制作了两个派生页面,或者更确切地说是类:

公共密封类TestPage1:TestPage
{
公共重写字符串AbstractName=>“TestPage1”;
}
公共密封类TestPage 2:TestPage
{
公共重写字符串AbstractName=>“TestPage2”;
}
问题 如果我现在尝试将
框架导航到
TestPage1
TestPage2
,这将在调试生成中工作,但在发布生成中失败(System.AccessViolationException:“尝试读取或写入受保护内存”。)。 这与是否启用或禁用优化代码或.net本机工具链无关

对于我实际的UWP应用程序,我希望能够使用上述原理快速创建在几个方面不同的非常相似的页面,例如
ItemTemplates
、Viewmodels等


我非常感谢任何能在发布版本中实现这一点或如何解决这一问题的线索(无需为每个派生页面创建单独的XAML文件,我已经在其他地方使用了它,并且它正在发布版本中工作)。

显然,我希望它的工作方式在发布版本中似乎不受支持,似乎是由于.xaml和.cs文件是为发布版或调试版编译的

现在,我将使用多个.xaml文件,但我将继续尝试找到一种方法来实现这一点,并防止出现大量完全相同的.xaml代码(毕竟,使用同一代码的多个副本会在某个地方产生问题)


当我找到答案时,我会相应地更新这个答案。(感谢Hamed和Mikah到目前为止的帮助)

为什么基类中的AbstractName受到内部保护?我在测试期间尝试了一些,但在发布构建期间都失败了。我已经在帖子中把所有内容连贯起来了
我已经在其他地方使用过了,并且正在发布中
你是说代码在另一个UWP应用程序中工作吗?@RoyLi MSFT不是这样的,因此,我想要的是一个XAML+类用于实际UI页面,然后是多个派生类,这些派生类指定此UI的一些功能,例如itemtemplates/viewmodels/等。我需要的是多个XAML文件,例如
TestPage1
TestPage2
每个文件都有一个XAML文件,然后
TestPage
有一些通用的文件eventhandlers/处理导航到
等。在本例中,
TestPage
没有XAML文件。你明白我的意思了吗?你能在GitHub或Onedrive上与我共享一个[mvce]吗?这有助于检查原因。