【问题标题】:Creating C# DLL, what am I doing wrong?创建 C# DLL,我做错了什么?
【发布时间】:2011-11-04 14:49:34
【问题描述】:

一点背景:我正在编写一组 C# 类来将 SOAP 连接器包装到另一个名为 Jira 的系统。 Jira 公开的 SOAP 连接器对于我的目的来说有太多的功能,所以我正在尝试简化接口。

我的设置:在 C#/Visual Studio 2010 中,我的解决方案布局如下:

JiraService
    Properties/
        AssemblyInfo.cs
        Settings.settings/
    References/
        ...
        System.Web.Services
    Web References
        devjira.soap /* my connector to the jira soap reference i'm wrapping */
    Types/  /* these are data classes i'm trying to expose for the user */
        Comment.cs
        Issue.cs
        Project.cs
        User.cs
    app.config
    Jira.cs /* main class I'm trying to provide to user */

Jira.cs 位于 JiraService 命名空间中。 Comment.cs、Issue.cs、Project.cs 和 User.cs 都在 JiraService.Types 命名空间中。 Jira.cs 本质上公开了一些方法,这些方法可以获取或返回在 Types 目录中找到的类。在属性下,我将默认命名空间设置为 JiraService,将输出类型设置为类库。

我的问题:当我构建解决方案时,我得到了JiraService.dll。当我将此引用添加到另一个项目时,Jira、Comment、Issue、Project 和 User 类不在包含的 .dll 的 JiraService 或 JiraService.Types 命名空间中。唯一可用的命名空间是JiraService.devjira.soap,这是我试图简化和隐藏的库!我究竟做错了什么?为什么我的课程没有出现在最终库中?

感谢您的帮助!

【问题讨论】:

  • 你检查过类的访问修饰符是“公共的”吗?
  • 那是我的问题。我没有意识到他们需要明确标记为公开。来自脚本语言和 C,并没有立即突出。

标签: c# visual-studio-2010 soap


【解决方案1】:

需要查看代码才能确定,但​​有几件事需要检查; 1. 您是否在所有类中正确命名了您的命名空间?文件夹结构无关紧要,重要的是命名空间属性。 2. 你的课程是公开的吗?

除此之外,请发布一些示例代码..

【讨论】:

  • 谢谢先生!这是没有明确标记为公共的类。你救了我不少挫折=)
猜你喜欢
  • 2014-06-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-05
相关资源
最近更新 更多