在网站/ Web应用程序项目和Script#/ ScriptSharp之间共享代码

ska*_*ats 3 .net script#

我在我的网站项目中添加了一个Script#项目,并创建了一个包含两个类的小型示例库.

现在我想从网站代码中使用这些类.在这种情况下,我创建了一个简单的对象树并将其序列化为JSON(然后由客户端代码获取).

我尝试添加对Script#项目的引用.它编译得很好,但在启动时会给我一个错误:

  • 没有找到装配
  • 运行时版本不同

甚至可以在Script#和普通C#之间共享代码?

我在VS 2010和.NET 3.5(两个项目)中使用脚本#0.6.

Duc*_*tro 6

代码完全可以共享.我依靠这个来重用通过Web服务发送的数据类.

你能做的是:

  1. 在"共享"文件夹中设置名为SharedTypes.cs的单个c-sharp文件.
  2. 然后,对于每个项目,右键单击项目节点,选择"添加" - >"现有项目".浏览SharedTypes.cs,然后单击"添加"旁边的向下箭头,选择"添加为链接".
  3. 在那里创建共享类.
  4. 将预处理器符号(例如"WEBSERVER")添加到服务器端项目中.如果需要,这允许您在项目之间具有稍微不同的功能.

例:

public class MyDataPacket
{
    public int UserId;
    public string SomeData1;
    public int SomeData2;

#if SCRIPTSHARP
    public MyDataPacket(MyOtherClientSideClass arg)
    {
        // init
    }
#endif

#if WEBSERVER
    public MyDataPacket(MyOtherServerSideClass arg)
    {
        // init
    }
#endif
}
Run Code Online (Sandbox Code Playgroud)

编辑:脚本#现在包含一个默认符号SCRIPTSHARP,意图比!WEBSERVER.