记录一个Visual Studio 编译BUG
记录一个Visual Studio 编译BUG
问题描述
问题起因是我的项目莫名其妙出现System.TypeLoadException: Method 'get_DisplayName' in type 'SWKeJiWorkFlow.HttpApi.Host.User' from assembly 'SWKeJiWorkFlow.HttpApi.Host, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' does not have an implementation.
异常。
Host
项目中User
实现了其它项目定义的接口。
接口代码:
/// <summary>
/// 工作流用户
/// </summary>
public interface IWorkFlowUser : IEntity<Guid>
{
/// <summary>
/// 用户名称
/// </summary>
public string DisplayName { get; }
}
User
类代码:
public class User : Entity<Guid>, IWorkFlowUser
{
public string DisplayName { get; set; }
public User() : this(string.Empty)
{
}
public User(string name) : this(Guid.NewGuid(), name)
{
}
public User(Guid id,string name)
{
Id = id;
DisplayName = name;
}
}
解决方法
尝试过【重新生成解决方案】、【清理解决方案】后再【生成解决方案】和网上各种方法均无效。
最后发现在生成的Debug文件夹中SWKeJiWorkFlow.HttpApi.Host
生成的可执行文件创建日期和修改日期是旧的(当时忘了截图)。
于是删除掉整个Debug
文件夹重新编译异常就消失了。