C# 停止visual studio将.DLL文件放入/debug
最近我注意到,在编译时,Visual Studio正在用大约20个.dll文件填充我的/bin/Debug文件夹,我以前从/assets/packages文件夹链接了这些文件,我想在那里保存它们以确保/bin/Debug更干净,因此,当我注意到它们都在/bin/Debug中时,我决定将它们全部移回/assets/packages,然后当我重新编译我的应用程序以确保它们都被正确地重新添加到新位置时,它会将它们全部放回/bin/Debug文件夹?它们保留在/assets/packages文件夹中,但都被复制到/bin/debug文件夹中C# 停止visual studio将.DLL文件放入/debug,c#,visual-studio,C#,Visual Studio,最近我注意到,在编译时,Visual Studio正在用大约20个.dll文件填充我的/bin/Debug文件夹,我以前从/assets/packages文件夹链接了这些文件,我想在那里保存它们以确保/bin/Debug更干净,因此,当我注意到它们都在/bin/Debug中时,我决定将它们全部移回/assets/packages,然后当我重新编译我的应用程序以确保它们都被正确地重新添加到新位置时,它会将它们全部放回/bin/Debug文件夹?它们保留在/assets/packages文件夹中,但
我怎样才能让它留在我通过引用链接它们的文件夹中?这是因为您在这些引用上有
Copy local
=true
右键单击引用(在解决方案资源管理器的“引用”节点下),然后选择“属性”。从那里,找到
Copy local
属性并将其设置为false
您应该将引用上的Copy local设置为false
引用MSDN:“复制本地属性(对应于CopyLocal)确定引用是否复制到本地bin路径。在运行时,引用必须位于全局程序集缓存(GAC)中或项目的输出路径。如果此属性设置为true,则在运行时将引用复制到项目的输出路径。“
我刚刚尝试了这个,我的整个应用程序崩溃了,说找不到正确的答案。dll@LiamSavage正如MSDN引用所说,DLL需要位于GAC或项目的输出路径中,以便在运行时执行该项目。@ LIAMSavige这样考虑:启动应用程序,它需要一个库。首先,它在本地文件夹中查找库是否存在。如果没有,它就会在GAC中查找。如果在GAC中找不到它,它会得出结论,dll不存在。这正是您希望它做的。那么我如何才能让它们加载到特定的文件夹中呢?当然有办法。@LiamSavage当然有,只需订阅事件并让您的代码检查需要检查的文件夹。我刚刚尝试了这个,我的整个应用程序崩溃,并说找不到.dll