在silverlight中添加引用问题

时间:2011-02-06 08:17:40

标签: .net silverlight frameworks assemblies

我有一个silverlight应用程序,里面有一个类库项目。该类库在.Net framework 4中运行,silverlight项目在silverlight 3中运行。当我想在silverlight proj中添加一个引用到类库时,我收到此消息:

"You can't add a reference to Classlibrary1.dll as it was not built against the silverlight runtime. silverlight project will only work with silverlight asseblies."

我试图改变classlibrary1用于.net框架3.5,3和2的框架,但它没有帮助。 (我的silverlight应用程序只能在silverlight 3中运行)

任何建议?

谢谢!

3 个答案:

答案 0 :(得分:6)

显然 Silverlight项目仅适用于Silverlight组合。 .NET和Silverlight的CLR不同,因此程序集不兼容。这些框架提供了不同的类集,程序集具有不同的版本,等等。

您需要将类库更改为 Silverlight类库
这可以通过changing project file manually或通过创建 Silverlight类库项目并复制其中的源来完成。如果您需要为非Silverlight项目使用相同的库并且不想维护两个版本,请考虑使用添加现有项... 对话框的添加为链接功能仅引用原始来源而不复制它们。但是,您需要确保只使用两个平台上可用的功能来构建两个库版本。

答案 1 :(得分:2)

您必须使用“Silverlight类库”项目模板向解决方案添加新项目。然后将文件从.NET类库项目移动到Silverlight类库项目中。

Silverlight应用程序无法引用.NET程序集。

Silverlight Class Library

答案 2 :(得分:0)

将库重建为sliverlight库;这将意味着一个新的csproj,主要是相同的文件。您可能(并非总是)发现您还需要调整代码以避免在较薄的Silverlight BCL中无法进行任何操作。