有办法做到这一点吗?
我有一个带有'helper'代码的库,我想从Silverlight项目中使用它。我不知道为什么,但Visual Studio不会让我添加引用,即使我的库中没有禁止任何内容(如DataSet)
我不想再次编写所有代码,所以我想可能会创建一个Silverlight类库并将我的类添加为该项目的链接。
我知道这对其他东西有用,还没有在Silverlight中尝试过,这种方法有问题吗?有没有更好的方法来达到我想要的目的?
答案 0 :(得分:2)
这种方法应该没有问题。事实上,Prism大量使用链接文件(与预处理器指令相结合)来支持库中的WPF和Silverlight。
此外,您可以使用Project Linker工具为您提供帮助。
我希望这会有所帮助。
答案 1 :(得分:1)
不,你不能添加.net程序集,你需要重新编译库以获得silverlight。
您可以在与.net classlibrary相同的目录中创建一个新的空Silverlight类库。然后在项目菜单中选择“显示所有文件”。然后,您将在解决方案资源管理器中看到该文件夹中的所有.cs文件都是透明的。选择它们,然后在上下文菜单中选择“包含在项目中”。
甚至可能只使用一个具有多个构建的项目(如Debug和Release,其中一些目标SL),但我不确定这是否可行。这样做的好处是您无需手动保持项目文件同步。
答案 2 :(得分:1)
这种方法没有问题。例如,MEF已经做到了。你会在那里找到两组项目 - 一个桌面和一个silverlight项目,每个项目都引用相同的.cs文件。
还有一件好事可以提供帮助 - 如果您的类中有任何非Silverlight功能或SL特定功能,您可以使用部分类来处理这些情况。只需在适当的项目中包含第二个.cs文件,并使用部分类,就可以分离出普通/ sivlerlight功能。