我在解决方案中有两个独立的项目。
第一个项目只是一个测试控制台项目。 第二个项目是 Common Lib 项目。
我在 Common Lib 项目中有静态类,它包含一个需要读取文件的静态方法(对于OpenNLP)。
var sentenceDetector = new EnglishMaximumEntropySentenceDetector("EnglishSD.nbin");
我将文件“EnglishSD.nbin”添加到 Common Lib 项目中。我将该文件的属性更改为“内容”和“始终复制”。它会将该文件添加到 Common Lib 项目的bin / debug文件夹中。 编辑:'EnglishSD.nbin'位于OpenNLP / EnglishSD.nbin文件夹
问题:当我运行测试控制台项目时,它使用 Common lib 项目中的静态函数。它试图在测试控制台项目的bin文件夹中查找“EnglishSD.nbin”,而不是 Common Lib 项目。这会导致'FileNotFound'错误。
有没有办法获取文件的路径而不必担心从哪里调用它?
答案 0 :(得分:0)
那么您的测试控制台会引用您的 Common Lib ?然后,当您构建测试控制台时,CommonLib.dll
将被复制到测试控制台项目文件夹。我不知道是否有一种自动方式复制主项目引用的库的依赖...
但你可以设置它。使用测试控制台项目的生成后事件并手动复制所需文件(我假设您的 Common Lib 项目文件夹为/Common Lib
):<登记/>
copy "$(SolutionDir)Common Lib\EnglishSD.nbin" "$(TargetDir)"
答案 1 :(得分:0)
我的坏人。我实际上有英语SD.nbin&#39;在文件夹中。因此,它在TestConsole项目bin / debug中创建了一个文件夹,并在那里放置了文件。
所以我只需将路径更改为(FolderName)/EnglishSD.nbin。
/_search?sort=@timestamp:desc&size=1&q=_missing_:version_pre