gpt4 book ai didi

当这些类使用某些对象时,C# Windows 会丢失对类库的引用吗?

转载 作者:太空宇宙 更新时间:2023-11-03 17:34:34 27 4
gpt4 key购买 nike

我正在完全改写(更准确地)我正在经历从 C# Windows 服务中丢失对引用类库的引用。

过程:
创建了一个全新的 C# .Net v4.0 Windows 服务。
在该解决方案中,我创建了一个新的类库,该类库将从服务的 OnStart() 方法调用,并在 Windows 服务中引用该类库。
我导入了 RssToolkit 项目(找到 here)。 RssToolkit 项目框架是 2.0(虽然无关紧要),但仅供引用。引用了类库中的 RssToolkit。

所以,我们有 Windows 服务 --> 类库 --> RssToolkit。

视窗服务:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using ClassLibraryToExecuteRss;

namespace WindowsService1
{
public partial class Service1 : ServiceBase
{
public Service1()
{
InitializeComponent();
}

protected override void OnStart(string[] args)
{
Class1.DoSomeWork();

}

protected override void OnStop()
{
}
}
}

类库:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using RssToolkit.Rss;

namespace ClassLibraryToExecuteRss
{
public static class Class1
{
public static void DoSomeWork()
{
//RssDocument rssDocument = new RssDocument();
//rssDocument = RssDocument.Load(new System.Uri("http://www.somerssurl.com"));
}

}
}

如您所见,使用 RssDocument 类的代码行被注释掉了。将这些注释掉后,我可以很好地编译解决方案......但它几乎没有用。

取消注释后,我在服务代码中收到以下编译错误:

Error 3 The type or namespace name 'ClassLibraryToExecuteRss' could not be found (are you missing a using directive or an assembly reference?) C:\Projects\TestBed\TestingServiceWithXLibs\WindowsService1\WindowsService1\Service1.cs 9 7 WindowsService1



...和...

Error 4 The name 'Class1' does not exist in the current context C:\Projects\TestBed\TestingServiceWithXLibs\WindowsService1\WindowsService1\Service1.cs 22 13 WindowsService1



那么这里发生了什么?我构建了一个运行良好的 TDD 解决方案,但是当将调用该类库的代码从我的单元测试中引入解决方案时,我得到了这个。

我没有更改任何 namespace ,并将所有内容保留为默认值。

顺便说一句,我确实将 RssToolkit 的目标框架更改为 4.0... 没有变化,我遇到了同样的问题,因为我在我的类库中使用另一个外部库 (SubSonic)。

任何人都可以对此有所了解吗?

最佳答案

  • 您的服务器项目需要
    引用您的类库
    项目和 RssToolkit 程序集。
  • 确保您的服务项目针对正确的框架。右键单击项目并选择属性。在应用程序选项卡上,确保您的目标是正确的框架。例如,当您真正需要整个框架时,您可能正在瞄准客户端配置文件。
  • 关于当这些类使用某些对象时,C# Windows 会丢失对类库的引用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6003048/

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