我正在开发Windows应用商店应用。我试图引用具有此依赖关系结构的库:
在我的Windows Store App项目中,我只能引用托管程序集managedWrapper.dll。如果我尝试引用unmanaged.dll,我会收到错误,类似于“无法添加引用”。
我的项目编译正常,但在运行时我得到一个文件未找到异常,因为managedWrapper.dll找不到unmanaged.dll。我有点期待这种行为,但不知道如何解决它。问题是我正在尝试调试我的应用程序,但我不知道Visual Studio 2012如何部署它。我只能在我的项目中显式引用managedWrapper.dll,因此无法告诉Visual Studio unmanaged.dll也是我的应用程序的依赖项。由于我不知道Visual Studio在调试时如何部署我的Windows应用商店应用程序,我不知道在哪里手动复制unmanaged.dll以解决问题。
此外,似乎没有办法在调试时获取我的应用程序的实际工作目录,所以我再也不知道将unmanaged.dll复制到何处,因此managedWrapper.dll在运行时不会失败。
之前有没有人遇到过这个问题?
答案 0 :(得分:2)
将unmanaged.dll作为文件添加到Windows应用商店应用程序中。确保将unmanaged.dll的构建属性设置为Content,并将其设置为Copy to Output。
这应该将dll复制到输出目录。
以上内容应该可行,但如果您有多个引用managed.dll的项目,则可能不太理想。例如,如果您还有一个引用managed.dll的单元测试项目,则必须执行上述操作并向其添加unmanaged.dll。