回答
將您希望使用的文件夾添加到您的PATH環境變量中。這會讓你從命令行鍵入my-program.exe,它會運行。
如果您嘗試在程序內部加載內部內容,您可以更改工作目錄SetCurrentDirectory
或僅使用每個文件訪問的完整路徑。
說明:
我以前的答案是不正確的。 Sam Holder的推測聽起來似乎很有道理,所以我寫了一些測試來證實。
請考慮確認。
要測試,請添加對項目或dll的引用,並將「複製本地」設置爲false。確保你'顯示所有文件'並刪除bin目錄,否則你將在那裏有一個徘徊的dll。
的Global.asax
namespace WebApplication1
{
public class Global : System.Web.HttpApplication
{
protected void Application_Start(object sender, EventArgs e)
{
AppDomain currentDomain = AppDomain.CurrentDomain;
currentDomain.AssemblyResolve += new ResolveEventHandler(currentDomain_AssemblyResolve);
}
System.Reflection.Assembly currentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
{
if (args.Name == "ClassLibrary1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null")
{
String assemblyPath = @"C:\Projects\StackOverflowAnswers\WebApplication1\ClassLibrary1\bin\Debug\ClassLibrary1.dll";
Assembly assembly = Assembly.LoadFrom(assemblyPath);
return assembly;
}
return null;
}
.....
的OP也許應該給我一個給予好評,但薩姆應該得到的檢查。
+ +1努力:) –
我不知道,如果你能在asp.net做到這一點,但在.NET應用程序,你可以在當前的AppDomain
AppDomain currentDomain = AppDomain.CurrentDomain;
currentDomain.AssemblyResolve += assemblyResolver.ResolveEventHandler;
提供了代表對AssemblyResolve事件當應用程序有任何裝配它無法解決它的引用將調用此委託來解決程序集。然後,您可以簡單地返回從代表要求大會:
String assemblyPath = //some logic to determine the location of the assembly
Assembly assembly = Assembly.LoadFrom (assemblyPath);
return assembly;
+1這是一種可能性,我沒有想到。我會嘗試。 –
確認。接得好。我今天得到了我的學習,現在可以停止。 ;-) –
天空,感謝您花費時間和精力來確認這一點。這是使得SO與其他網站不同的那種事情。 –
- 1. 如何從/ bin目錄中加載所有程序集
- 2. 如何在ASP.net應用程序的bin文件夾外引用程序集?
- 3. 使用程序集名稱加載不在GAC或Web應用程序的bin目錄中的程序集,而不是路徑
- 4. 在ASP.NET中從Bin加載程序集
- 5. 當前AppDomain加載應用程序庫之外的程序集?
- 6. 如何從Web應用程序加載iPhone應用程序
- 7. 如果不在GAC中,如何從另一個應用程序的bin目錄使用.net程序集?
- 8. 如何獲取我部署的Web應用程序的目錄?
- 9. 如何在Web應用程序之外加載Django模板?
- 10. 如何重新加載.NET應用程序域的程序集?
- 11. 在我的iPhone應用程序中加載播客目錄
- 12. 如何在我正在使用的Web應用程序中加載所有Web應用程序?
- 13. 如何指向.NET WEB API應用程序從BIN子目錄加載未引用的控制器
- 14. ASP.NET - bin目錄與在web.conf中添加程序集
- 15. Web應用程序的活動目錄
- 16. 將外部應用程序與我的應用程序集成
- 17. 將其他程序集的依賴關係加載到其目錄中的加載應用程序目錄之外的目錄中?
- 18. 在Sencha-Touch 2應用程序中加載外部Web應用程序
- 19. 添加MVC4.5 web應用程序到webforms 4.5應用程序的子目錄
- 20. 多少內存被加載的程序集的應用程序的Web應用程序域使用
- 21. 程序集在C#應用程序中加載的地方?
- 22. 無法在新的應用程序域中加載程序集
- 23. 我應該如何在應用程序域邊界加載程序集以加載和卸載模塊?
- 24. Silex - 如何訪問我的Web根目錄和應用程序根目錄
- 25. 從應用程序目錄中加載的外部SWF不會加載兩次
- 26. iPad-下載應用程序的目錄
- 27. 我如何從GAC加載程序集?
- 28. 在Spring Web應用程序(或任何Java Web應用程序)中集成目錄觀察器
- 29. 具有外部資源目錄的Java Web應用程序
- 30. 一個在應用程序中登錄的web應用程序
我不知道這會爲ASP.NET應用程序的工作(即有一個'bin'文件夾中的一種,而不是'BIN \ Debug' )。 –
我會提出我的問題。 即時通訊構建Web應用程序。 我希望服務器上的DLL將從不同的目錄,然後bin文件夾加載。 – adveb
好吧,隨着更多的信息,這聽起來像天空有正確的想法。在將來,給你更多的背景問題,這將有助於你獲得更好的答案。 – unholysampler