【问题标题】:Changing the name of the output assembly and package using dnx/.net core使用 dnx/.net core 更改输出程序集和包的名称
【发布时间】:2016-01-04 19:27:49
【问题描述】:

我有一个项目存在于名为 Oracle 的目录中,我希望创建的工件被称为 MyCompany.MyApp.Oracle 而不是 Oracle,我有哪些选项可以更改输出程序集名称和 nuget 包名称改目录名?

  • 我目前在我的project.json 文件旁边有一个MyCompany.MyApp.Oracle.xproj
  • 我也尝试在 xproj 文件中设置 <AssemblyName>MyCompany.MyApp.Oracle</AssemblyName>,但没有成功
  • 我也尝试在 project.json 中设置{"id":"MyCompany.MyApp.Oracle"},但仍然没有成功

【问题讨论】:

  • 请注意,现在基于 csproj 的解决方案有所不同。

标签: dnx .net-core


【解决方案1】:

基于@Victor Hurdugaci 的评论

"buildOptions": {
    "outputName": "Some.Specific.Assembly.Name"
},

你需要把它放在 project.json 文件中。 它将产生带有名称的输出:Some.Specific.Assembly.Name.dll

【讨论】:

  • 请注意 Visual Studio 仍然包含一些错误。所以自定义输出名称会破坏 MVC 应用程序的启动和在测试资源管理器中发现测试。
【解决方案2】:

从 .NET Core 1.1 开始,使用 csproj 而不是 package.json,您应该使用 <AssemblyName> 配置。

x.csproj 的示例:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <AssemblyName>Name your assembly here</AssemblyName>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp1.1</TargetFramework>
  </PropertyGroup>

</Project>

【讨论】:

    【解决方案3】:

    稍后编辑:此答案适用于 dotnet 之前的版本 (dnx)。现在可以更改包名了。

    旧答案: 更改包名称的唯一方法是更改​​文件夹名称。

    【讨论】:

    • 我投了赞成票,但会保持开放,以防出现替代品。
    • 不,没有其他选择。来源:我在构建 dnx 的团队工作
    • 我注意到了。好吧,这是希望这种变化。
    • 真的希望这种变化。
    • 在 CLI 中,您现在可以更改程序集名称。因此,包名称仍然是文件夹名称,但您可以在此处指定新的程序集名称:github.com/aspnet/dotnet-watch/blob/…
    猜你喜欢
    • 2015-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-06
    相关资源
    最近更新 更多