我的方案如下:
下面是我正在尝试使用的代码
class Program
{
static void Main(string[] args)
{
Evidence e = new Evidence(AppDomain.CurrentDomain.Evidence);
AppDomainSetup setup = AppDomain.CurrentDomain.SetupInformation;
Console.WriteLine("Creating new AppDomain");
AppDomain newDomain = AppDomain.CreateDomain("newDomain", e, setup);
string fullName = Assembly.GetExecutingAssembly().FullName;
Type loaderType = typeof(AssemblyLoader);
var loader = (AssemblyLoader)newDomain.CreateInstanceFrom(loaderType.Assembly.Location, loaderType.FullName).Unwrap();
Console.WriteLine("Loading assembly");
Assembly asm = loader.LoadAssembly("library.dll");
Console.WriteLine("Creating instance of Class1");
object instance = Activator.CreateInstance(asm.GetTypes()[0]);
Console.WriteLine("Created object is of type {0}", instance.GetType());
Console.ReadLine();
Console.WriteLine("Unloading AppDomain");
instance = null;
AppDomain.Unload(newDomain);
Console.WriteLine("New Domain unloaded");
Console.ReadLine();
}
public class …Run Code Online (Sandbox Code Playgroud) 我正试图在windows上交叉编译go代码,针对linux机器.我用简单的go代码来确定目标操作系统/平台,
package main
import "fmt"
import "runtime"
func main() {
fmt.Printf("OS: %s\nArchitecture: %s\n", runtime.GOOS, runtime.GOARCH)
}
Run Code Online (Sandbox Code Playgroud)
运行上面的代码给了我
OS: linux
Architecture: amd64
Run Code Online (Sandbox Code Playgroud)
当我尝试在Windows上交叉编译时(使用JetBrain的Goland IDE)
> go version
go version go1.9.2 windows/amd64
Run Code Online (Sandbox Code Playgroud)
使用GOOS=linux ;GOARCH=amd64环境标志,我得到以下错误
cmd/go: unsupported GOOS/GOARCH pair linux /amd64
Run Code Online (Sandbox Code Playgroud)
我是golang的新手,所以我可能会遗漏一些简单的东西,但这个错误让我陷入困境.任何帮助赞赏...