正在寻找这个问题的高低,似乎无法弄明白。
所以我正在使用c#项目在visual studio中创建一个Web应用程序。我的解决方案中还有另一个项目,它是一个编译为dll的c项目。我已经到了可以在两者之间传递信息并且它正常工作的地步。
在我的应用程序中,用户上传文件并将其保存到“includes”文件夹中的文件系统中。 dll(从我从sdk获得的c代码编译)应该读取该文件并对其进行解码。当我将它编译为exe并将其发送到文件路径时,dll项目工作正常。
我的问题是,如何获取DLL(现在在bin文件夹中)以跳过目录并获取此文件?我试过将文件路径硬编码到c代码中但它不起作用。
FILE *fp;
bool isWorking = false
if(fp = fopen("../Include/testFile.fit", "r"))
isWorking = true
我还尝试过从DLL中写入文本文件,希望找到它弹出的位置并使用该目录作为参考,但在这种情况下,c代码根本不创建和保存文件。
答案 0 :(得分:0)
DLL文件在文件系统中的位置并不重要。重要的部分是生成二进制文件的位置以及它所看到的当前工作目录。
如果您的C#程序使用DLL,则DLL中的代码将使用与C#程序相同的当前工作目录运行(除非您在DLL中的代码中更改它)。
因此,您应该尝试以相同的方式加载文件,关于路径,就像您要从C#程序加载它一样。