У проекта нет доступа к указанному проекту в решении c # - PullRequest
0 голосов
/ 15 октября 2019

Я пытаюсь получить доступ к методу из класса, который находится в другом проекте, но в том же решении. Проблема, с которой я сталкиваюсь, заключается в том, что она продолжает говорить, что мне не хватает ссылки, даже когда я использую пространство имен using проекта.

Этот код находится в проекте 2 и является контроллером. который ссылается на проект 1

        namespace WebSvc1.Controllers
     {
public class RemunerationController : ApiController
{
    [HttpPost]
    public void BonusRecipient(BonusRecipients bonusRecipients)
    {
        XmlSerializer writer = new XmlSerializer(typeof(BonusRecipients));

        var path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) +
            "//BonusReipients.xml";

        FileStream file = File.Create(path);

        writer.Serialize(file, bonusRecipients);
        file.Dispose();
        file.Close();
    }
}

}

И этот код находится в проекте 1, который должен вызывать метод из контроллера в проекте 2

     using System;
      using System.Collections.Generic;
      using System.Net.Http;
     using System.Net.Http.Headers;
     using System.Threading.Tasks;
     using System.Web.Mvc;
     using Newtonsoft.Json;
      using WebApp1.DataContracts;
    using WebApp1.Models;

   namespace WebApp1.Controllers
     {
       public class BonusController : Controller
         {
           // GET: Bonus
            public ActionResult Index()
            {
             return View("View");
             }

    // POST: Bonus/Allocate
    [HttpPost]
    public async Task<ActionResult> Allocate(BonusViewModel bonusAllocation)
    {

        try
        {
            var employees = await GetEmployees();
            List<Employee> recipients = new List<Employee>();

            for (int i = 0; i < employees.Count; i++)
            {
                if (i % bonusAllocation.OneInXEmployees == 0)
                {
                    var recipient = employees[i];
                    recipients.Add(recipient);
                    employees.Remove(recipient);
                }
            }

            //BonusRecipient(recipients);
            return RedirectToAction("Index", "Home");
        }
        catch
        {
            return View("View");
        }
    }

    private async Task<List<Employee>> GetEmployees()
    {
        HttpClient client = new HttpClient();
        client.BaseAddress = new Uri("http://localhost:57652/");
        client.DefaultRequestHeaders.Accept.Clear();
        client.DefaultRequestHeaders.Accept.Add(new 
       MediaTypeWithQualityHeaderValue("application/json"));

        HttpResponseMessage response = await 
      client.GetAsync($"api/employee");
        if (response.IsSuccessStatusCode)
        {
            string employeeData = await 
      response.Content.ReadAsStringAsync();
            List<Employee> employees = 
         JsonConvert.DeserializeObject<List<Employee>>(employeeData);

            return employees;
        }

        return new List<Employee>();
    }
  }
   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...