lvo*_*ros 5 c# wpf xaml .net-standard
我做了一个netstandard类库.我的目标是netstandard 1.6.我的csproj就像:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup Label="Globals">
<SccProjectName>SAK</SccProjectName>
<SccProvider>SAK</SccProvider>
<SccAuxPath>SAK</SccAuxPath>
<SccLocalPath>SAK</SccLocalPath>
</PropertyGroup>
<PropertyGroup>
<TargetFramework>netstandard1.6</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="System.Runtime" Version="4.3.0" />
<PackageReference Include="System.Runtime.Serialization.Primitives" Version="4.3.0" />
<PackageReference Include="System.Runtime.Serialization.Xml" Version="4.3.0" />
</ItemGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)
我有一个WPF项目,我参考了这个dll.我可以在c#中使用netstandard dll的类.我也可以在xaml中使用它们.我甚至对他们有所了解.但是xaml设计师说,我的xaml无效.我可以编译解决方案,我可以运行应用程序.在运行时一切正常.但设计师无法使用它.
Person类看起来像:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Runtime.CompilerServices;
using System.Runtime.Serialization;
using System.Text;
namespace DS.Publications.Common
{
[DataContract(Namespace = Constants.NamespaceConstants.DataContractNamespace)]
public class Person : INotifyPropertyChanged
{
private string _Title = string.Empty;
[DataMember]
public string Title { get { return _Title; } set { Set(ref _Title, value); } }
private string _ForeName;
[DataMember]
public string ForeName { get { return _ForeName; } set { Set(ref _ForeName, value); } }
private string _LastName;
[DataMember]
public string LastName { get { return _LastName; } set { Set(ref _LastName, value); } }
public event PropertyChangedEventHandler PropertyChanged;
private void OnPropertyChanged(string propertyName)
{
this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
private bool Set<T>(ref T field, T value, [CallerMemberName] string propertyName = null)
{
if (field == null || !field.Equals(value))
{
field = value;
this.OnPropertyChanged(propertyName);
return true;
}
return false;
}
}
}
Run Code Online (Sandbox Code Playgroud)
你知道一个解决方法,或者你有一个想法,我该如何纠正它?
我还没有真正找到这个问题的解决方案...我已将 netstandard 库的目标框架设置回 netstandard1.3。当目标为 1.3 时,一切正常。我希望下一个 VS 更新会提供修复。
附言。当我将目标设置为 netstandard1.3 时,我遇到了问题,即找到了旧的 netstandard1.6 二进制文件,直到我真正清理了解决方案,如下所示: 如何真正清理解决方案。
| 归档时间: |
|
| 查看次数: |
563 次 |
| 最近记录: |