我一直在尝试将Mac PackageMaker命令行构建移植到pkgbuild和productbuild但是我被卡住了.遗憾的是,除了这个StackOverflow帖子以及pkgbuild和productbuild手册页之外,我还没有找到任何记录这些新程序如何工作的内容.
这是我的问题.我创建了一个根安装目录,其中包含以下文件:
/some_path/Applications
/MyProgram.app
/Library
/Frameworks
/MyFramework.framework
/[library files...]
Run Code Online (Sandbox Code Playgroud)
下面的命令行调用对PackageMaker非常有用.它创建了一个安装程序,安装了上面的所有文件.
$ /Developer/usr/bin/packagemaker \
--title "My Program" \
--root /some_path \
--version 1.0.0 \
--filter "\.DS_Store" \
--resources ./resources/ \
--scripts ./scripts/ \
--root-volume-only \
--domain system \
--verbose \
--no-relocate \
--target 10.5 \
--id com.my_company.pkg \
--out MyProgram.pkg
Run Code Online (Sandbox Code Playgroud)
现在我正在尝试用pkgbuild编写这个并遇到一个重大问题.我使用以下电话:
$ pkgbuild \
--root /some_path \
--version 1.0.0 \
--install-location "/" \
--scripts "./scripts/" \
--identifier "com.my_company.pkg" \
MyProgram.pkg
Run Code Online (Sandbox Code Playgroud)
此命令构建一个安装程序,将MyProgram.framework目录复制到/ Library/Frameworks中.但是,它不会将MyProgram.app文件安装到/ Applications目录中.当我查看安装程序日志时,我看到以下消息: …
我想使用 NLog 以类似于 WebApi Core 的方式记录来自 Entity Framework Core 的 SQL 查询。我该如何设置?
nlog entity-framework-core .net-core entity-framework-core-2.1
我正在使用具有以下不透明句柄的第三方C库:
typedef struct _VendorHandle *VendorHandle;
Run Code Online (Sandbox Code Playgroud)
以下是供应商的C示例,说明如何加载句柄:
VendorHandle handle;
int err;
err = vendorLoadFile(&handle, "something.bin");
Run Code Online (Sandbox Code Playgroud)
我试图使用以下声明在C#中使用PInvoke调用此方法:
[DllImport("VendorLib.dll")]
static extern int vendorLoadFile(IntPtr handle, string path);
Run Code Online (Sandbox Code Playgroud)
然后我添加了以下代码来使用声明:
IntPtr handle = new IntPtr();
int code = vendorLoadFile(handle, path);
Run Code Online (Sandbox Code Playgroud)
当我运行它时,我收到以下错误:
尝试读取或写入受保护的内存.这通常表明其他内存已损坏.
我知道DLL很好,PInvoke正在工作,因为我正在执行他们的vendorVersion()方法所以它必须是别的我做错了.
我已经使用了NUnit多年,但一直很恼火,你被迫将所有可测试的函数移动到一个单独的程序集(DLL),以便您可以对它们进行编写/运行测试.例如,我有一个Windows窗体项目(我在这个例子中使用MyProgram),它有几个我想测试的类.使用NUnit,您必须将这些类提取到另一个程序集(DLL)项目中,以便可以运行测试.所以我的项目,曾经只包含一个项目MyProgram,现在需要3个项目:
你可能会问为什么这是一个问题.我有几个原因:
我知道测试就像Java和Maven一样.我可以编写单元测试,我不需要创建MyProgramLib项目.
任何其他.NET单元测试框架(xUnit,MSTest,MbUnit等)是否支持没有MyProgramLib要求的编写测试?