我已经在当前本地PC上运行(赢& 64位).NET(C#C)建立了一个Windows服务应用程序,它有它自己的事件日志文件,以及一对于后调试其注销到c自定义日志文件:\ ProgramData \ MyAppName \从本地PC迁移到服务器
我在其中包含所有主要的功能代码一个项目的主2倍的DLL。
这些被服务VS项目挂钩,其中还包含一个Windows Form项目,该项目位于桌面托盘中,并为我提供服务状态,因为它使用第三方API,API是否已启动并正在运行,任何当前的错误,再加上它有按钮,使我可以在需要时停止/启动服务。
但是我不得不将这一切都转移到Windows 2012 Server,并且我需要解决一些问题。
1)服务器上没有Visual Studio,因此没有用于放置项目的目录,重建它们并运行它们,让其他应用程序挂接到与“添加参考”相关的DLL中。
我应该下载VS网络版或东西到服务器,以使这更易于管理/调试/代码,如果我需要?
或者是有另一种方式,例如只复制DLL和REGSRVR他们安装然后复制服务/应用程序到服务器,它会自动引用它的工作,如果不是什么程序。
主要代码是在我建立的DLL中,它也带有一个JSON第三方API生成的DLL。
这些都得到重新创建,当我重建主体工程,然后我必须删除并把它们改造他们,以便正常运行,然后再重新添加到服务和赢形式的项目。
如何在没有服务器上的VS的情况下解决此问题 - 我可以将代码的调试/制作保存到我的电脑上,只需复制文件? - 即使路径不同,从服务/应用程序到DLLS的链接是否仍然有效? - 如果不是,我该怎么办? - 也是最好的文件夹来存储它们?
此外,我注意到,尽管有服务器(RD/SFTP /运股份)管理员/ root访问我,我不能看到C:\ ProgramData文件夹上的C:\驱动器。这是我的应用程序在全天候运行时从我的PC上运行的所有日志记录。它每天创建一个日志文件,2个历史 - 全部为后处理调试等
这是因为这是一个双赢2012服务器和代码,我用得到它
this.Logpath = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + "\\" + NameOfMyApp;
在我的项目的路径
的工作方式不同,例如Environment.SpecialFolder.CommonApplicationData是Win 2012上的另一个文件夹,还是我需要执行某些操作才能显示ProgramData文件夹,以便我可以正常浏览它?
我记得最近当我在我的Win7机器上做了一些Windows更新(显然与Win7很常见),我看不到ProgramData文件夹(服务仍在运行) - 直到我的配置文件被交换它正在使用默认的临时配置文件,这就是为什么我所有的桌面图标都带有书签和文件夹的原因)。
所以我想从我的Win7 64位机这2个VS项目(或他们所创造的工作代码)转移到一个双赢2012 64位服务器。
什么都拿得到一切工作的最佳步骤和文件夹的所有显示(programdata),再加上服务正常运行,而无需在服务器上的Visual Studio?
感谢您提前提供任何帮助。
那么它使用环境变量来得到它应该创建文件夹的路径(并创建如果不存在 - 同与事件日志) - 但我只是想为了安全,他们已停止的应用程序存储文件都在OS和为了确切的目的创建了ProgramData文件夹。问题是,有2个项目1我的DLL包含所有包含JSON DLL的代码,然后在Service和Windows Form应用程序中引用这2个DLLS的另一个项目,如何在两个项目中创建安装程序? – MonkeyMagix