当C#程序启动时,复制到调试文件夹的文件将自动删除
我正在使用Visual Studio 2012构建WPF程序。有一个从C编译的DLL,我使用DllImport调用它。Dll被添加到项目中并标记为当C#程序启动时,复制到调试文件夹的文件将自动删除,c#,wpf,visual-studio-2012,dll,dllimport,C#,Wpf,Visual Studio 2012,Dll,Dllimport,我正在使用Visual Studio 2012构建WPF程序。有一个从C编译的DLL,我使用DllImport调用它。Dll被添加到项目中并标记为 构建操作:内容 复制到输出目录:始终复制 生成项目解决方案后,dll将复制到调试文件夹,并成功使用Visual Studio生成的.exe。但是,当我运行它时,无论是通过双击从文件资源管理器生成的.exe还是在VS调试器中“运行”,dll都会突然被自己删除 为什么?如果它在从文件资源管理器运行时执行此操作,则 当您尝试访问时,您的防病毒程序正在
- 构建操作:内容
- 复制到输出目录:始终复制
为什么?如果它在从文件资源管理器运行时执行此操作,则
- 当您尝试访问时,您的防病毒程序正在删除dll 它
- 您的程序中必须有代码才能删除中的文件 当前目录
也许这会帮助某人追踪原因。我遇到了这个问题,并成功地解决了 您需要检查两件事:
- 对于应用程序x:Class=“…”设置为YourWpfProject.App
- 对于StartupUri=“…”设置为视图(MainWindow.xaml)所属的文件夹
- 对于Windows x:class=“…”设置为xaml文件(视图)所属的确切命名空间。记住要清楚地检查是否将视图或viewmodels放入此项目下的文件夹中
现在,试试你的“F5”。我发现,不仅DLL,甚至一个简单的添加为内容的abc.txt,在程序启动时也会自动删除。