Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.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# “ReactiveUI.ReactiveObject”类型是在未引用的程序集中定义的_C#_.net_Reactiveui_Caliburn.micro.reactiveui - Fatal编程技术网

C# “ReactiveUI.ReactiveObject”类型是在未引用的程序集中定义的

C# “ReactiveUI.ReactiveObject”类型是在未引用的程序集中定义的,c#,.net,reactiveui,caliburn.micro.reactiveui,C#,.net,Reactiveui,Caliburn.micro.reactiveui,错误8在程序集中定义了类型“ReactiveUI.ReactiveObject” 这是没有参考的。必须添加对程序集的引用 '反应UI,版本=6.0.3.0,区域性=中性, PublicKeyToken=null'。D:\git\ProjectName\ViewModels\AboutViewModel.cs 15 25 JIMS 在过去的几个小时里,我很难解决这个问题。我已将Caliburn.Micro替换为Caliburn.Micro.ReactiveUI。我使用nuget引用了此dll,最初

错误8在程序集中定义了类型“ReactiveUI.ReactiveObject” 这是没有参考的。必须添加对程序集的引用 '反应UI,版本=6.0.3.0,区域性=中性, PublicKeyToken=null'。D:\git\ProjectName\ViewModels\AboutViewModel.cs 15 25 JIMS

在过去的几个小时里,我很难解决这个问题。我已将Caliburn.Micro替换为Caliburn.Micro.ReactiveUI。我使用nuget引用了此dll,最初存在签名问题,但通过修改MSBuild脚本对此程序集进行签名解决了此问题

现在我收到此错误,即使我已将引用添加到此程序集。我已经向其他房地产经纪人询问了很多问题,但没有任何帮助

到目前为止一切都很顺利

使用Nuget和dep卸载了Caliburn.Micro.ReactiveUI包 重新安装。 清理解决方案并重建。 将构建从调试更改为发布,没有任何效果。 更新

进一步深入研究这个问题,我注意到了这一点。 我使用卸载了所有包

PM> Uninstall-Package Caliburn.Micro.ReactiveUI -RemoveDependencies
然后我重新安装了,现在我用dotPeek检查了ReactiveUI.dll,这就是它的功能

ReactiveUI, Version=6.0.3.0, Culture=neutral, PublicKeyToken=null
程序集尚未签名,且具有StrongName=False 现在,当我构建项目时,它将作为MSBuild脚本的一部分对未命名的dll进行签名

<Target Name="SignAssembly" Outputs="%(Reference.HintPath)" BeforeTargets="BeforeBuild">
  <ConvertToAbsolutePath Paths="%(Reference.HintPath)">
    <Output TaskParameter="AbsolutePaths" PropertyName="AssemblyPath" />
  </ConvertToAbsolutePath>
  <Message Text="Assembly Path: $(AssemblyPath)" />    
  <Exec Command="&quot;$(SignerPath)\$(Signer)&quot; -a &quot;$(AssemblyPath)&quot; &gt; &quot;$(OutputLogFile)&quot;" IgnoreExitCode="true" />
  <ReadLinesFromFile File="$(OutputLogFile)">
    <Output TaskParameter="Lines" ItemName="OutputLogFile" />
  </ReadLinesFromFile>
  <Message Text="@(OutputLogFile->'%(Identity)', '%0a%0d')" />
  <Delete Files="$(OutputLogFile)" />
</Target>
现在我对出现的问题有了一点了解,因此一旦对程序集进行了签名,它将是MSBuild的另一个程序集


那么我该如何更新对新签名dll的引用呢?在Visual Studio中,您添加了ReactiveUI和Caliburn.Micro的包了吗?从您所说的判断,您只添加了Caliburn.Micro.ReactiveUI,它只引用两个框架的核心库。

Caliburn.Micro的包已经存在,因为它在Caliburn.Micro上工作。您是否也手动添加了ReactiveUI?Caliburn.Micro.ReactiveUI仅引用ReactiveUI核心。您可以发布packages.config文件的内容吗?是否可以检查此项目或复制此问题的类似项目?此问题是因为Caliburn.Micro.ReactiveUI在内部引用未签名的ReactiveUI.dll,当我对其签名时,它将成为Caliburn.Micro.ReactiveUI的不同程序集,以便使其正常工作,我必须重建Caliburn.Micro.ReactiveUI,签名的dllOh将正常运行。请随意这样做,因为我不打算提供一个签名版本,保罗也不打算在不久的将来做一个ReactiveUI。感谢您迄今为止的所有帮助。
ReactiveUI, Version=6.0.3.0, Culture=neutral, PublicKeyToken=831a72fa0d8caa87