1

我正在制作一个移动应用程序。在我的解决方案中,我有一个共享项目。我不想在我的 iOS 或 Android 版本中使用一些文件。

我的代码看起来像这样:

#if __MOBILE__
#else
using Azure.Storage.Blobs;
using Azure.Storage.Blobs.Models;
using Azure.Storage.Queues;
using Azure.Storage.Queues.Models;
using System;

namespace Blah.Utils
{
   public static class AzureBlobService
   {
       public static async Task<string> CreateCloudQueue(string connectionString, string queueName)
       {
         // blah
       }
   }
}
#endif

这似乎不会为我的移动应用程序删除此文件。它仍然希望我获得那些 nuget Azure.Storage 包。我怎样才能让#if 以我想要的方式工作?

4

1 回答 1

1

好吧,在为此苦苦挣扎了很长时间并认为它一定是某个地方的某个晦涩的设置之后……这是因为我的共享库被我的移动应用程序项目之间的一个项目引用了。

所以换句话说,这些项目是这样相互引用的: Sharedproject <--- CoreLib proj <--- Mobile app proj

而且我没有将MOBILE放在 CoreLib proj 属性中的“条件编译符号”中。

于 2020-10-17T19:51:15.453 回答