有一个project that wraps V8 engine into C# library。它的nuget包破了,我想解决它。创建一个包似乎很容易,并且有记录的方法可以为不同的.NET版本打包不同的C#dll。但是,我不知道如何使用C ++和C#代码打包.dll,这些代码可以用不同的选项构建:
我找到了this thread,似乎可以在.targets
文件中使用MSBuild命令。然后我读了in the docs MSBuild的方式是旧的,不推荐。那我该怎么办?
还有一个问题是:如果这个包依赖于MSVC ++,那么如何指定呢?如何让包消费者选择特定版本的dll(针对MSVC ++ 2010,2012或2013构建)?我认为打包msvcr*.dll
不是一个好主意。
答案 0 :(得分:1)
看一下SQLite包如何部署他们的DLL。使用2.x及更早版本的NuGet,您需要编写一些powershell代码来检查Visual Studio的版本并手动将更改应用到项目中。
我们正在努力为这个确切的问题寻找一个更优雅的解决方案,以及将在NuGet v3中部署的更新