2017-09-06 24 views
0

比方说,我的csproj,如果我从它的命令行运行的MSBuild,它的生成目标TaskCli.dll如何在.NET运行库运行的csproj

的MSBuild TaskCli.csproj
TaskCli -> bin\Debug\TaskCli.dll

我应该使用哪个工具来运行TaskCli.dll?我正在使用.net框架4.5。

编辑:我改变了输出类型作为控制台应用程序和msbuild生成一个.exe文件。然后我可以从命令行运行.exe文件。感谢您的帮助。

TaskCli -> bin\Debug\TaskCli.exe

+0

你使用.net核心或“经典.net”(=>什么是目标框架?) –

+0

经典.net框架 – Ulka

+0

那么你建立了一个库? (=> dll)你对“运行”一个没有入口点的库(main函数)有什么期望? –

回答

1

动态链接库(DLL ),与.net Framework创建的,不能直接执行。

测试这些,没有可执行的办法是PowerShell

Add-Type -Path "..\TaskCli.dll" 
$yourClass = new-object YourNamespace.YourClass 
$yourClass.yourMethod("myParameter") 

另一个命令行选项是使用RUNDLL32,它允许您调用从DLL导出的函数:

RUNDLL32.EXE <dllname>, <entrypoint> <optional arguments> 
+0

嗯,dotnet核心运行时允许我执行dll。如果该项目是针对dotnet核心的,我可以运行它,就像'dotent TaskCli.dll' – Ulka

+0

@Ulka你不能跨越'.NET Framework'和'.NET Core'。这些是不同的框架。 – Smartis

+0

我知道,.NET核心允许我运行DLL,我想知道是否有一种.NET框架的方式。 – Ulka