这是一个暂时陷入困境的问题。我搜索了互联网的广度无济于事,终于要求SO寻求帮助。
我在VS2015中有一个完整的.NET堆栈程序集项目,我在其中实现了RIA域服务。 RIA服务通过WCF(HTTP)公开给Silverlight 5.0客户端项目,在该项目中它被引用为服务引用。这会触发Silverlight项目中RIA代理类的自动代码生成,该代码类在构建时发生。这个Silverlight项目是我引用此WCF RIA服务的唯一位置。 Silverlight项目本身由两个单独的Silverlight应用程序引用。
此Silverlight项目还包含扩展RIA代理类的部分类。构建其中一个Silverlight解决方案时,它经常(但不总是)为扩展RIA代理类的部分类抛出错误。生成的具有代理类的代码文件已经消失(我假设因为VS在重新创建它之前将其删除),并且部分类中的引用被破坏。
例如,这是一个RIA生成的代理类(仅显示ExaminationResult
属性,否则会变得过长):
public sealed partial class VCtp_DetailedResults : Entity
{
// ... more properties here
/// <summary>
/// Gets or sets the 'ExaminationResult' value.
/// </summary>
[DataMember()]
[Editable(false, AllowInitialValue=true)]
[Key()]
[Required()]
[RoundtripOriginal()]
[StringLength(11)]
public string ExaminationResult
{
get
{
return this._examinationResult;
}
set
{
if ((this._examinationResult != value))
{
this.OnExaminationResultChanging(value);
this.ValidateProperty("ExaminationResult", value);
this._examinationResult = value;
this.RaisePropertyChanged("ExaminationResult");
this.OnExaminationResultChanged();
}
}
}
}
这是部分扩展:
namespace Apss.Data.Reports.Models
{
public partial class VCtp_DetailedResults : IRow, IRowCtp, IRowCustomer
{
public bool IsVisible { get; set; }
public bool IsSelected { get; set; }
public string ExaminationResultLocalized
{
get { return LocalisationHelper.GetString(ExaminationResult); }
}
}
}
构建错误是:
我的假设是VS在构建过程中经历了至少两次编译迭代,一次是编译本地代码,另一次是生成和编译RIA代理代码。
我的问题:我如何确保构建不会破坏这些 部分代理类?
答案 0 :(得分:1)
一种方法是生成代码<html>
<head>
<link type="text/css" rel="stylesheet" href="css/style.css">
</head>
<body>
<div class="menu">
<ul>
<b>
<li><a class="itens" href=#menu>Home</a></li>
<li><a class="itens" href=#Projetos><img class="lampada" src="images/parceiros.png">Parceiros</a></li>
<li><a class="itens" href=#LinksUteis><img class="lampada" src="images/links.png">Links Uteis</a> </li>
<div class="4">
<a class="itens" href=#Blog>
<div class="ljuntesse">
<img class="lampada" src="images/juntesse.png">
</div>
<div class="tjuntesse">
<li>Junte-se a Nós</a></li>
</div>
</div>
<a class="itens" href=#Contactos><img class="lampada" src="images/contactos.png"><li class="5">Contactos</li></a>
</b>
</ul>
</div>
</body>
</html>
并将其检入源代码,然后关闭RIA服务。
您可以在服务发生变化时启用RIA服务,就像服务更改时如何重新生成代理一样。