gpt4 book ai didi

wpf - 奇怪的错误 - CS0012 : The type x is defined in an assembly that is not referenced

转载 作者:行者123 更新时间:2023-12-03 09:10:00 24 4
gpt4 key购买 nike

类型“x”在未引用的程序集中定义。您必须添加对程序集“abc123”的引用。

我有一个引用我的程序集“abc123”的 .NET 2.0 Web 应用程序。该程序集存在于 GAC 中,我已经验证它是正确的(相同的)版本。除了一个 .aspx 页面外,应用程序的其余部分没有问题。有问题的页面有一个转发器,它将用户控件显示为其“字段”之一。在将 y 类型的列表绑定(bind)到中继器后,我向用户控件传递了一个 x 类型的列表(y 的属性),如下所示:

<uc1:usercontrol id="ucusercontrol " runat="server" myPublicUserControlProperty='<%#Eval("CollectionOfX") %>'/>

在用户控件的属性集上,我将 x 类型的列表绑定(bind)到用户控件中的 gridview。

需要注意的一件奇怪的事情是,该报告在我的开发电脑上运行良好,但在部署后无法在任何服务器上运行。我的电脑是 Windows XP、IIS6、VS2005。服务器是 Windows Server 2003、IIS6。

我希望我解释得足够好。提前感谢您提供的任何见解。

最佳答案

我是迈克的同事,我们制定了解决方案。

X 类型在他的程序集中定义,即仅在 GAC 中。尽管他的 ASP.NET Web 应用程序确实有一个引用,但它无法从 GAC 仅为此 UserControl 加载。应用程序的其余部分按预期工作。我们通过将程序集的副本放在 bin 目录中来确认加载失败,并且一切正常。我们卸下了组件,问题又回来了。

我们的解决方案是手动在程序集部分的 web.config 中添加一个条目,以将 ASP.NET 指向 GAC。

看起来每当您在页面中引用类型(而不是代码隐藏)时,您都需要在 web.config 文件或页面指令中定义的程序集信息。

<assemblies>
<add assembly="MyAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=[MyPublicKeyToken]"/>
</assemblies>

关于wpf - 奇怪的错误 - CS0012 : The type x is defined in an assembly that is not referenced,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/284433/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com